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

Folosiți acest WebClient pentru apel. Pentru serviciile publice pe o rută publică de proxy permisă, lista de proxy-uri HTTP oferă candidați host și port; confirmați accesul CONNECT la destinația reală. Tipurile HttpClient/ProxyProvider sunt ale Reactor Netty, nu ale clientului standard Java. Un alt WebClient injectat poate păstra alt conector.

Calea documentată de proxy HTTP Netty a Reactor Netty folosește CONNECT indiferent de schema destinației. O țintă HTTP simplă poate necesita deci permisiune de tunel către portul său chiar și când proxy-ul acceptă acolo HTTP obișnuit redirecționat. Citiți răspunsul real al proxy-ului înainte de a schimba schema URL-ului. Pentru o implementare compatibilă Spring 6.2 care are nevoie de redirecționare HTTP/1.1 obișnuită, exemplul de conector Jetty 12.0.35 oferă această alternativă.

Pentru rutarea prin proprietăți JVM, alegeți configurația opt-in documentată a Reactor Netty. O proprietate prezentă în JVM nu configurează fiecare conector.

Păstrați separat configurarea/autentificarea proxy-ului, TLS-ul destinației și răspunsurile aplicației. Conectorul furnizează ruta, nu acreditările destinației sau rezultatul protocolului.

Articole similare