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();

Użyj tego WebClient do wywołania. Dla usług publicznych na dozwolonej publicznej trasie proxy lista proxy HTTP dostarcza kandydatów host i port; potwierdź dostęp CONNECT do rzeczywistego celu. Typy HttpClient/ProxyProvider należą do Reactor Netty, a nie do standardowego klienta Javy. Inny wstrzyknięty WebClient może zachować inny konektor.

Udokumentowana ścieżka proxy HTTP Netty w Reactor Netty używa CONNECT niezależnie od schematu celu. Zwykły cel HTTP może więc wymagać uprawnienia tunelu do swojego portu, nawet gdy proxy akceptuje tam zwykłe przekazywane HTTP. Przeczytaj rzeczywistą odpowiedź proxy przed zmianą schematu URL. Dla zgodnego wdrożenia Spring 6.2 wymagającego zwykłego przekazywania HTTP/1.1 przykład konektora Jetty 12.0.35 zapewnia tę alternatywę.

W przypadku routingu właściwościami JVM wybierz udokumentowaną konfigurację opt-in Reactor Netty. Właściwość obecna w JVM nie konfiguruje każdego konektora.

Utrzymuj osobno konfigurację/uwierzytelnianie proxy, TLS celu i odpowiedzi aplikacji. Konektor dostarcza trasę, a nie poświadczenia celu ani wynik protokołu.

Powiązane artykuły