Ku habee proxy-ga Spring WebClient ee Reactor Netty
Soo bandhig macmiil Reactor Netty oo proxy lagu habeeyay iyada oo loo marayo isku-xirka WebClient oo tixgeli dhaqankiisa proxy ee ku salaysan CONNECT.
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();
Isticmaal WebClient-kan wicitaanka. Adeegyada dadweynaha ee waddada proxy dadweyne ee la oggolaaday, liiska proxy HTTP wuxuu bixiyaa musharixiinta host iyo port; xaqiiji gelitaanka CONNECT ee goobta dhabta ah. Noocyada HttpClient/ProxyProvider waa Reactor Netty, ma aha macmiilka caadiga ah ee Java. WebClient kale oo la duray ayaa hayn kara isku-xir kale.
Waddada proxy HTTP Netty ee Reactor Netty oo la diiwaan geliyay waxay isticmaashaa CONNECT iyada oo aan tixgelin qaabka goobta. Sidaa darteed bartilmaameed HTTP caadi ah ayaa laga yaabaa inuu u baahdo ogolaansho tunnel oo ku socota port-kiisa xitaa marka proxy-gu halkaas ku aqbali karo HTTP caadi ah oo la gudbiyay. Akhri jawaabta dhabta ah ee proxy-ga ka hor inta aanad beddelin qaabka URL-ka. Nashqada Spring 6.2 ee la jaanqaadaya ee u baahan gudbin HTTP/1.1 caadi ah, tusaalaha isku-xirka Jetty 12.0.35 wuxuu bixiyaa beddelkaas.
Habaynta JVM-property, dooro qaabaynta opt-in ee Reactor Netty oo la diiwaan geliyay. Property ku jira JVM ma habayso isku-xir kasta.
Kala sooc habaynta/ahaanshaha proxy-ga, TLS-ka goobta iyo jawaabaha barnaamijka. Isku-xirku wuxuu bixiyaa waddada, ma aha aqoonsiga goobta ama natiijada borotokoolka.