Konfigurisanje Spring WebClient proxyja uz Reactor Netty
Omogućite Reactor Netty klijent konfigurisan s 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 servise na dozvoljenoj ruti javnog proxyja, lista 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 ubačeni WebClient može zadržati drugi konektor.
Dokumentovana putanja Netty HTTP proxyja u Reactor Nettyju koristi CONNECT bez obzira na šemu odredišta. Obična HTTP meta stoga može zahtijevati dozvolu za tunel do svog porta čak i kada proxy tamo prihvata običan proslijeđeni HTTP. Pročitajte stvarni odgovor proxyja prije nego promijenite šemu 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 rutiranje pomoću JVM svojstava odaberite dokumentovanu opt-in konfiguraciju Reactor Nettyja. Svojstvo prisutno u JVM-u ne konfiguriše svaki konektor.
Držite proxy postavke/autentifikaciju, TLS odredišta i odgovore aplikacije odvojeno. Konektor daje rutu, a ne akreditive odredišta ni rezultat protokola.