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.

Povezani članci