Spring WebClient við Jetty: vanligt HTTP-proxy uttan CONNECT
Brúka Jetty-sambandið hjá Spring viðsamsvarandi HTTP/1.1-klient- og proxy-protokollum, tá ein vanlig framsend HTTP-fyrispurningur er neyðugur.
HTTP-proxy-handterarin hjá Reactor Netty setur upp CONNECT-tunnil eisini fyri eina vanliga HTTP-mál. Um ætlaða proxyið í staðin góðtekur vanliga HTTP/1.1-framsending, kann Spring WebClient brúka eitt annað samband, ið verður stuðlað.
Fyri Spring 6.2 við klient-API-inum hjá Jetty 12.0.35 og samsvarandi Jetty Reactive Streams-integrering:
var jetty = new org.eclipse.jetty.client.HttpClient(
new org.eclipse.jetty.client.transport.HttpClientTransportOverHTTP());
jetty.getProxyConfiguration().addProxy(
new org.eclipse.jetty.client.HttpProxy("proxy.example", 8080));
var client = WebClient.builder()
.clientConnector(new JettyClientHttpConnector(jetty))
.build();
WebClient og JettyClientHttpConnector eru Spring-klassir. Stýr byrjan og steðging av veitta Jetty-klientinum gjøgnum vanliga lívssyklusin hjá forritinum.
HTTP/1.1-proxyið hjá Jetty kann senda ein vanligan HTTP/1.1-fyrispurning fram uttan tunnil, tá protokollini hjá málinum og klient-proxyinum samsvara. requiresTunnel-politikkur hansara brúkar CONNECT fyri trygg mál og fyri ósamsvarandi protokoll-leiðir.
Hetta er ikki ein máti at taka CONNECT burtur úr einum vanligum HTTPS-tunli. Halt skeiðið hjá málinum rætt.
Brúka addProxy í nevnda Jetty-API-inum. getProxies gevur eina óbroyttiliga listu aftur, so hin eldri uppskriftin getProxies().add(...) er ikki núverandi broytingarflata.
Fyri almenn HTTP-mál á eini loyvdari almenvari proxy-leið veitir HTTP-proxy-listin evnar til proxy-host og -port hjá Jetty. Les veruliga proxy-svarið, tá tú sammetir sambond. Autentisering, málpolitikkur og eitt mál, ið ikki er atkomandi, verða verandi skilt frá valinum millum framsent HTTP og CONNECT.