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

Brug denne WebClient til kaldet. Til offentlige tjenester på en tilladt offentlig proxy-rute leverer HTTP-proxylisten kandidater til vært og port; bekræft CONNECT-adgang til den faktiske destination. Typerne HttpClient/ProxyProvider er Reactor Nettys, ikke Javas standardklient. En anden injiceret WebClient kan beholde en anden connector.

Reactor Nettys dokumenterede Netty HTTP-proxyvej bruger CONNECT uanset destinationsens skema. Et almindeligt HTTP-mål kan derfor kræve tunneladgang til sin port, selv når proxyen accepterer almindelig videresendt HTTP der. Læs proxyens faktiske svar, før du ændrer URL'ens skema. Til en kompatibel Spring 6.2-udrulning, der har brug for almindelig HTTP/1.1-videresendelse, giver Jetty 12.0.35-connectoreksemplet dette alternativ.

Til JVM-egenskabsbaseret routing skal du vælge Reactor Nettys dokumenterede opt-in-konfiguration. En egenskab, der findes i JVM'en, konfigurerer ikke alle connectors.

Hold proxyopsætning/autentificering, destinationens TLS og applikationssvar adskilt. Connectoren leverer ruten, ikke destinationens legitimationsoplysninger eller protokolresultat.

Relaterede artikler