Configura un proxy de Spring WebClient amb Reactor Netty
Proporciona un client Reactor Netty configurat amb proxy mitjançant el connector de WebClient i tingues en compte el seu comportament de proxy basat 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();Utilitza aquest WebClient per a la crida. Per als serveis públics en una ruta de proxy públic permesa, la llista de proxys HTTP proporciona candidats d'amfitrió i port; confirma l'accés CONNECT a la destinació real. Els tipus HttpClient/ProxyProvider són de Reactor Netty, no del client estàndard de Java. Un altre WebClient injectat pot conservar un altre connector.
La ruta de proxy HTTP de Netty documentada per Reactor Netty utilitza CONNECT independentment de l'esquema de destinació. Per tant, un objectiu HTTP simple pot necessitar permís de túnel cap al seu port fins i tot quan el proxy hi accepta HTTP reenviat ordinari. Llegeix la resposta real del proxy abans de canviar l'esquema de l'URL. Per a un desplegament compatible amb Spring 6.2 que necessiti reenviament HTTP/1.1 ordinari, l'exemple de connector Jetty 12.0.35 ofereix aquesta alternativa.
Per a l'encaminament per propietats de la JVM, tria la configuració opt-in documentada de Reactor Netty. Una propietat present a la JVM no configura tots els connectors.
Mantén separats la configuració/autenticació del proxy, el TLS de la destinació i les respostes de l'aplicació. El connector proporciona la ruta, no les credencials de la destinació ni el resultat del protocol.