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

Gebruik deze WebClient voor de aanroep. Voor openbare diensten op een toegestane openbare proxyroute levert de HTTP-proxylijst host- en portkandidaten; bevestig CONNECT-toegang tot de werkelijke bestemming. De typen HttpClient/ProxyProvider zijn van Reactor Netty, niet van Java's standaardclient. Een andere geïnjecteerde WebClient kan een andere connector behouden.

Het gedocumenteerde Netty HTTP-proxypad van Reactor Netty gebruikt CONNECT ongeacht het schema van de bestemming. Een gewoon HTTP-doel kan daarom tunnelmachtiging voor zijn poort nodig hebben, zelfs wanneer de proxy daar gewone doorgestuurde HTTP accepteert. Lees de werkelijke proxyrespons voordat u het schema van de URL wijzigt. Voor een compatibele Spring 6.2-implementatie die gewone HTTP/1.1-doorsturing nodig heeft, biedt het Jetty 12.0.35-connectorvoorbeeld dat alternatief.

Kies voor routering via JVM-eigenschappen de gedocumenteerde opt-in-configuratie van Reactor Netty. Een eigenschap die in de JVM aanwezig is, configureert niet elke connector.

Houd proxy-instelling/authenticatie, TLS van de bestemming en applicatieresponsen gescheiden. De connector levert de route, niet de inloggegevens van de bestemming of het protocolresultaat.

Gerelateerde artikelen