Konfigurer en Spring WebClient-proxy med Reactor Netty
Lever en proxykonfigurert Reactor Netty-klient gjennom WebClients connector og ta høyde for dens CONNECT-baserte proxyatferd.
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();
Bruk denne WebClient-en for kallet. For offentlige tjenester på en tillatt offentlig proxy-rute gir HTTP-proxylisten kandidater for host og port; bekreft CONNECT-tilgang til den faktiske destinasjonen. Typene HttpClient/ProxyProvider tilhører Reactor Netty, ikke Javas standardklient. En annen injisert WebClient kan beholde en annen connector.
Reactor Nettys dokumenterte Netty HTTP-proxybane bruker CONNECT uavhengig av destinasjonens skjema. Et vanlig HTTP-mål kan derfor trenge tunnelstillatelse til porten sin selv når proxyen godtar vanlig videresendt HTTP der. Les den faktiske proxyresponsen før du endrer URL-ens skjema. For en kompatibel Spring 6.2-distribusjon som trenger vanlig HTTP/1.1-videresending, gir Jetty 12.0.35-connectoreksempelet det alternativet.
For JVM-egenskapsruting, velg Reactor Nettys dokumenterte opt-in-konfigurasjon. En egenskap som finnes i JVM-en konfigurerer ikke hver connector.
Hold proxyoppsett/autentisering, destinasjonens TLS og applikasjonsresponser atskilt. Connectoren leverer ruten, ikke destinasjonens påloggingsdata eller protokollresultat.