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

Naudokite šį WebClient iškvietimui. Viešosioms paslaugoms leidžiamu viešojo proxy maršrutu HTTP proxy sąrašas pateikia host ir port kandidatus; patvirtinkite CONNECT prieigą prie tikrojo paskirties taško. Tipai HttpClient/ProxyProvider priklauso Reactor Netty, o ne standartiniam Java klientui. Kitas įterptas WebClient gali turėti kitą jungtį.

Dokumentuotas Reactor Netty Netty HTTP proxy kelias naudoja CONNECT nepriklausomai nuo paskirties schemos. Todėl paprastas HTTP taikinys gali reikalauti tunelio leidimo į savo portą, net kai proxy ten priima įprastą persiunčiamą HTTP. Prieš keisdami URL schemą perskaitykite tikrąjį proxy atsakymą. Suderinamam Spring 6.2 diegimui, kuriam reikia įprasto HTTP/1.1 persiuntimo, Jetty 12.0.35 jungties pavyzdys siūlo tą alternatyvą.

JVM savybių maršrutizavimui rinkitės dokumentuotą Reactor Netty opt-in konfigūraciją. JVM esanti savybė nesukonfigūruoja kiekvienos jungties.

Laikykite atskirai proxy sąranką/autentifikavimą, paskirties TLS ir programos atsakymus. Jungtis pateikia maršrutą, o ne paskirties kredencialus ar protokolo rezultatą.

Susiję straipsniai