Конфигурирање на прокси за Spring WebClient со Reactor Netty
Обезбедете Reactor Netty клиент конфигуриран со прокси преку конекторот на WebClient и земете го предвид неговото однесување на прокси засновано на 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();
Користете го овој WebClient за повикот. За јавни услуги на дозволена јавна прокси рута, списокот со HTTP прокси обезбедува кандидати за host и port; потврдете пристап со CONNECT до вистинската дестинација. Типовите HttpClient/ProxyProvider се на Reactor Netty, а не на стандардниот Java клиент. Друг инјектиран WebClient може да задржи друг конектор.
Документираната Netty HTTP прокси патека на Reactor Netty користи CONNECT без оглед на шемата на дестинацијата. Затоа обична HTTP цел може да бара дозвола за тунел до нејзиниот port дури и кога проксито таму прифаќа обичен проследен HTTP. Прочитајте го вистинскиот одговор на проксито пред да ја смените шемата на URL-то. За компатибилно распоредување на Spring 6.2 што бара обично HTTP/1.1 проследување, примерот со конектор Jetty 12.0.35 ја нуди таа алтернатива.
За рутирање со JVM својства, изберете ја документираната opt-in конфигурација на Reactor Netty. Својство присутно во JVM не го конфигурира секој конектор.
Одржувајте одделно поставувањето/автентикацијата на проксито, TLS на дестинацијата и одговорите на апликацијата. Конекторот ја обезбедува рутата, а не акредитивите на дестинацијата или резултатот од протоколот.