Spring WebClient -välityspalvelimen määrittäminen Reactor Nettyllä
Tarjoa välityspalvelimella määritetty Reactor Netty -asiakas WebClientin liittimen kautta ja ota huomioon sen CONNECT-pohjainen välityspalvelinkäyttäytyminen.
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();Käytä tätä WebClientiä kutsuun. Sallitulla julkisen välityspalvelimen reitillä oleville julkisille palveluille HTTP-välityspalvelinluettelo tarjoaa isäntä- ja porttiehdokkaita; vahvista CONNECT-pääsy todelliseen kohteeseen. Tyypit HttpClient/ProxyProvider ovat Reactor Nettyn, eivät Javan vakioasiakkaan. Toinen injektoitu WebClient voi pitää toisen liittimen.
Reactor Nettyn dokumentoitu Netty HTTP -välityspalvelinpolku käyttää CONNECTia kohteen skeemasta riippumatta. Siksi tavallinen HTTP-kohde voi tarvita tunneliluvan portilleen, vaikka välityspalvelin hyväksyy siellä tavallisen edelleenlähetetyn HTTP:n. Lue välityspalvelimen todellinen vastaus ennen URL:n skeeman muuttamista. Tavallista HTTP/1.1-edelleenlähetystä tarvitsevalle yhteensopivalle Spring 6.2 -käyttöönotolle Jetty 12.0.35 -liitinesimerkki tarjoaa tämän vaihtoehdon.
JVM-ominaisuuspohjaiseen reititykseen valitse Reactor Nettyn dokumentoitu opt-in-määritys. JVM:ssä oleva ominaisuus ei määritä jokaista liitintä.
Pidä välityspalvelimen asetukset/todennus, kohteen TLS ja sovellusvasteet erillään. Liitin tarjoaa reitin, ei kohteen tunnuksia tai protokollan tulosta.