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

Usa este WebClient para a chamada. Para servizos públicos nunha ruta de proxy público permitida, a lista de proxies HTTP fornece candidatos de host e porto; confirma o acceso CONNECT ao destino real. Os tipos HttpClient/ProxyProvider son de Reactor Netty, non do cliente estándar de Java. Outro WebClient inxectado pode conservar outro conector.

A ruta de proxy HTTP de Netty documentada por Reactor Netty usa CONNECT independentemente do esquema do destino. Por iso, un destino HTTP simple pode necesitar permiso de túnel ata o seu porto mesmo cando o proxy acepta alí HTTP reenviado ordinario. Le a resposta real do proxy antes de cambiar o esquema da URL. Para un despregamento compatible con Spring 6.2 que necesite reenvío HTTP/1.1 ordinario, o exemplo de conector Jetty 12.0.35 ofrece esa alternativa.

Para o encamiñamento por propiedades da JVM, escolle a configuración opt-in documentada de Reactor Netty. Unha propiedade presente na JVM non configura todos os conectores.

Mantén separados a configuración/autenticación do proxy, o TLS do destino e as respostas da aplicación. O conector fornece a ruta, non as credenciais do destino nin o resultado do protocolo.

Artigos relacionados