Наладанне праксі 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-проксі падае кандыдатаў хоста і порта; пацвердзіце доступ CONNECT да фактычнага прызначэння. Тыпы HttpClient/ProxyProvider — гэта тыпы Reactor Netty, а не стандартны кліент Java. Іншы ўкаранёны WebClient можа захаваць іншы канэктар.
Апісаны ў дакументацыі шлях HTTP-проксі Netty у Reactor Netty выкарыстоўвае CONNECT незалежна ад схемы прызначэння. Таму звычайная HTTP-мэта можа патрабаваць дазволу на тунель да свайго порта, нават калі праксі прымае там звычайны перанакіраваны HTTP. Прачытайце фактычны адказ проксі, перш чым змяняць схему URL. Для сумяшчальнага разгортвання Spring 6.2, якому патрэбна звычайная перадача HTTP/1.1, прыклад канэктара Jetty 12.0.35 дае такую альтэрнатыву.
Для маршрутызацыі праз уласцівасці JVM выберыце апісаную ў дакументацыі канфігурацыю opt-in Reactor Netty. Уласцівасць, якая ёсць у JVM, не наладжвае кожны канэктар.
Трымайце наладу/аўтэнтыфікацыю проксі, TLS прызначэння і адказы праграмы асобна. Канэктар дае маршрут, а не ўліковыя даныя прызначэння ці вынік пратакола.