Maareeyaha proxy HTTP ee Reactor Netty wuxuu dhisaa tunnel CONNECT xitaa bartilmaameed HTTP caadi ah. Haddii proxy-ga loogu talagalay uu aqbalo gudbin HTTP/1.1 caadi ah, Spring WebClient wuxuu isticmaali karaa isku-xir kale oo la taageeray.

Spring 6.2 oo leh API macmiilka Jetty 12.0.35 iyo is-dhexgalka Jetty Reactive Streams ee waafaqsan:

var jetty = new org.eclipse.jetty.client.HttpClient(
    new org.eclipse.jetty.client.transport.HttpClientTransportOverHTTP());
jetty.getProxyConfiguration().addProxy(
    new org.eclipse.jetty.client.HttpProxy("proxy.example", 8080));

var client = WebClient.builder()
    .clientConnector(new JettyClientHttpConnector(jetty))
    .build();

WebClient iyo JettyClientHttpConnector waa fasallo Spring. Maamul bilaabista iyo joojinta macmiilka Jetty ee la bixiyay iyada oo loo marayo wareegga nolosha caadiga ah ee barnaamijka.

Proxy-ga HTTP/1.1 ee Jetty wuxuu gudbin karaa codsi HTTP/1.1 caadi ah oo aan tunnel lahayn marka borotokoolada bartilmaameedka iyo proxy-macmiilka ay is waafaqaan. Siyaasaddiisa requiresTunnel waxay CONNECT u isticmaashaa bartilmaameedyo ammaan ah iyo waddooyinka borotokool ee aan waafaqsanayn.

Tani maahan hab lagu tirtiro CONNECT tunnel HTTPS caadi ah. Hayso scheme-ka bartilmaameedka oo sax ah.

Isticmaal addProxy API-ga Jetty ee la sheegay. getProxies wuxuu soo celiyaa liis aan la beddeli karin, sidaas darteed qaabkii hore getProxies().add(...) maahan interface-ka beddelka ee hadda.

Bartilmaameedyada HTTP ee dadweynaha ee ku yaal waddo proxy dadweyne oo la ogolaaday, liiska proxy HTTP wuxuu bixiyaa musharrixiin loogu talagalay host iyo port-ka proxy Jetty. Akhri jawaabta dhabta ah ee proxy markaad is barbar dhigayso isku-xirka. Aqoonsiga, siyaasadda bartilmaameedka iyo bartilmaameed aan la heli karin ayaa ka duwan yihiin doorashada HTTP la gudbiyay ama CONNECT.

Maqaallo la xiriira