Configurar un proxy de Spring WebClient con Reactor Netty
Proporciona un cliente Reactor Netty configurado con proxy mediante o conector de WebClient e ten en conta o seu comportamento de proxy baseado en CONNECT.
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.