Konfiguriranje Spring WebClient proxyja uz Reactor Netty
Osigurajte Reactor Netty klijent konfiguriran proxyjem kroz WebClient konektor i uzmite u obzir njegovo proxy ponašanje zasnovano na CONNECT-u.
HttpClient httpClient = HttpClient.create()
.proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP)
.host("203.0.113.10").port(8080));
WebClient client = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient))
.build();Koristite ovaj WebClient za poziv. Za javne usluge na dopuštenoj ruti javnog proxyja, popis HTTP proxyja daje kandidate za host i port; potvrdite CONNECT pristup stvarnom odredištu. Tipovi HttpClient/ProxyProvider pripadaju Reactor Nettyju, a ne standardnom Java klijentu. Drugi ubrizgani WebClient može zadržati drugi konektor.
Dokumentirani put Netty HTTP proxyja u Reactor Nettyju koristi CONNECT neovisno o shemi odredišta. Obična HTTP meta stoga može zahtijevati dopuštenje tunela do svog porta čak i kada proxy tamo prihvaća običan proslijeđeni HTTP. Pročitajte stvarni odgovor proxyja prije nego promijenite shemu URL-a. Za kompatibilnu Spring 6.2 implementaciju kojoj treba obično HTTP/1.1 prosljeđivanje, primjer Jetty 12.0.35 konektora pruža tu alternativu.
Za usmjeravanje pomoću JVM svojstava odaberite dokumentiranu opt-in konfiguraciju Reactor Nettyja. Svojstvo prisutno u JVM-u ne konfigurira svaki konektor.
Držite proxy postavke/autentifikaciju, TLS odredišta i odgovore aplikacije odvojeno. Konektor daje rutu, a ne vjerodajnice odredišta ni rezultat protokola.