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.

Povezani članci