I-configure ang proxy ng Spring WebClient gamit ang Reactor Netty
Magbigay ng Reactor Netty client na naka-configure sa proxy sa pamamagitan ng connector ng WebClient at isaalang-alang ang pag-uugali nitong proxy na nakabatay sa 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();
Gamitin ang WebClient na ito para sa tawag. Para sa mga pampublikong serbisyo sa pinapayagang pampublikong ruta ng proxy, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidatong host at port; kumpirmahin ang access na CONNECT sa aktwal na destinasyon. Ang mga uri ng HttpClient/ProxyProvider ay sa Reactor Netty, hindi sa karaniwang client ng Java. Ang isa pang na-inject na WebClient ay maaaring magpanatili ng ibang connector.
Ang dokumentadong landas ng Netty HTTP proxy ng Reactor Netty ay gumagamit ng CONNECT anuman ang scheme ng destinasyon. Kaya ang isang ordinaryong target na HTTP ay maaaring mangailangan ng pahintulot sa tunnel patungo sa port nito kahit na tinatanggap ng proxy ang ordinaryong ipinasa na HTTP doon. Basahin ang aktwal na tugon ng proxy bago baguhin ang scheme ng URL. Para sa tugmang deployment ng Spring 6.2 na nangangailangan ng ordinaryong pagpapasa ng HTTP/1.1, ang halimbawa ng connector na Jetty 12.0.35 ay nagbibigay ng alternatibong iyon.
Para sa routing sa pamamagitan ng property ng JVM, piliin ang dokumentadong opt-in na configuration ng Reactor Netty. Ang property na nasa JVM ay hindi nagko-configure sa bawat connector.
Panatilihing hiwalay ang setup/authentication ng proxy, TLS ng destinasyon at mga tugon ng aplikasyon. Ang connector ay nagbibigay ng ruta, hindi ang mga kredensyal ng destinasyon o resulta ng protocol.