Konfigurisanje Spring WebClient proxyja uz Reactor Netty
Obezbedite Reactor Netty klijent konfigurisan sa proxyjem kroz WebClient konektor i uzmite u obzir njegovo CONNECT-zasnovano proxy ponašanje.
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 javnoj proxy ruti, lista HTTP proxyja daje kandidate za host i port; potvrdite CONNECT pristup stvarnom odredištu. Tipovi HttpClient/ProxyProvider pripadaju Reactor Netty, a ne standardnom Java klijentu. Drugi injektovani WebClient može zadržati drugi konektor.
Dokumentovana Netty HTTP proxy putanja Reactor Netty koristi CONNECT bez obzira na šemu odredišta. Zato običnom HTTP cilju može trebati dozvola za tunel do njegovog porta čak i kada proxy tamo prihvata običan prosleđeni HTTP. Pročitajte stvarni odgovor proxyja pre nego što promenite šemu URL-a. Za kompatibilno Spring 6.2 postavljanje koje zahteva obično HTTP/1.1 prosleđivanje, primer Jetty 12.0.35 konektora nudi tu alternativu.
Za rutiranje JVM svojstvima izaberite dokumentovanu opt-in konfiguraciju Reactor Netty. Svojstvo prisutno u JVM-u ne konfiguriše svaki konektor.
Držite odvojeno podešavanje/autentifikaciju proxyja, TLS odredišta i odgovore aplikacije. Konektor obezbeđuje rutu, a ne akreditive odredišta ili rezultat protokola.