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();

Použite tento WebClient na volanie. Pre verejné služby na povolenej verejnej proxy trase zoznam HTTP proxy poskytuje kandidátov host a port; potvrďte prístup CONNECT k skutočnému cieľu. Typy HttpClient/ProxyProvider patria Reactor Netty, nie štandardnému klientovi Javy. Iný vložený WebClient môže mať iný konektor.

Dokumentovaná cesta HTTP proxy Netty v Reactor Netty používa CONNECT bez ohľadu na schému cieľa. Obyčajný HTTP cieľ preto môže potrebovať povolenie tunela na svoj port, aj keď proxy tam akceptuje bežné preposielané HTTP. Pred zmenou schémy URL si prečítajte skutočnú odpoveď proxy. Pre kompatibilné nasadenie Spring 6.2, ktoré potrebuje bežné preposielanie HTTP/1.1, príklad konektora Jetty 12.0.35 poskytuje túto alternatívu.

Pre smerovanie vlastnosťami JVM zvoľte dokumentovanú opt-in konfiguráciu Reactor Netty. Vlastnosť prítomná v JVM nenakonfiguruje každý konektor.

Udržujte oddelene nastavenie/autentifikáciu proxy, TLS cieľa a odpovede aplikácie. Konektor poskytuje trasu, nie prihlasovacie údaje cieľa ani výsledok protokolu.

Súvisiace články