Den HTTP-Proxy-Handler vu Reactor Netty baut en CONNECT-Tunnel och fir en einfachen HTTP-Zil. Wann de virgesinnene Proxy amplaz eng gewéinlech HTTP/1.1-Weidergab akzeptéiert, kann de Spring WebClient en aneren ënnerstëtzten Connector benotzen.

Fir Spring 6.2 mat der Client-API vu Jetty 12.0.35 an enger kompatibeler Jetty Reactive Streams-Integratioun:

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 an JettyClientHttpConnector sinn Spring-Klassen. Verwalte Start a Stopp vum geliwwerten Jetty-Client iwwer den normale Liewenszyklus vun der Applikatioun.

Den HTTP/1.1-Proxy vu Jetty kann eng gewéinlech HTTP/1.1-Ufro ouni Tunnel weiderginn, wann d'Protokoller vum Zil a vum Client-Proxy iwwerenee stëmmen. Seng requiresTunnel-Politik benotzt CONNECT fir sécher Ziler a fir inkompatibel Protokollweeër.

Dëst ass kee Wee fir CONNECT aus engem gewéinlechen HTTPS-Tunnel ze entfernen. Halt den Schema vum Zil richteg.

Benotzt addProxy an der genannter Jetty-API. getProxies gëtt eng onverännerbar Lëscht zréck, dofir ass dat eelert Rezept getProxies().add(...) net seng aktuell Mutatiounsschnittstell.

Fir ëffentlech HTTP-Ziler op enger erlaabter ëffentlecher Proxy-Route liwwert d'HTTP-Proxy-Lëscht Kandidaten fir den Host a Port vum Jetty-Proxy. Liest déi tatsächlech Proxy-Antwert, wann Dir Connectoren vergläicht. Authentifikatioun, Zilpolitik an en net erreechbart Zil bleiwen getrennt vun der Wiel tëscht weidergeschécktem HTTP a CONNECT.

Ähnlech Artikelen