I-Spring WebClient ne-Jetty: Ukuhlinzeka nge-HTTP okujwayelekile ngaphandle kwe-CONNECT
Sebenzisa isixhumi se-Jetty se-Spring nemithetho ye-HTTP/1.1 yeklayenti ne-proxy ehambisanayo lapho kudingeka isicelo se-HTTP esidluliswayo esijwayelekile.
Isibambi se-proxy ye-HTTP se-Reactor Netty sisungula umhubhe we-CONNECT ngisho nasemgomweni we-HTTP ojwayelekile. Uma i-proxy ehlosiwe yamukela ukudluliswa kwe-HTTP/1.1 okujwayelekile, i-Spring WebClient ingasebenzisa esinye isixhumi esisekelwayo.
Kwe-Spring 6.2 ne-API yeklayenti ye-Jetty 12.0.35 kanye nokuhlanganiswa kwe-Jetty Reactive Streams okuhambisanayo:
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();I-WebClient ne-JettyClientHttpConnector ziyizigaba ze-Spring. Phatha ukuqalisa nokumisa kweklayenti ye-Jetty enikeziwe ngomjikelezo wempilo ojwayelekile wohlelo.
I-proxy ye-HTTP/1.1 ye-Jetty ingadlulisa isicelo se-HTTP/1.1 esijwayelekile ngaphandle komhubhe lapho imithetho yomgomo neyeklayenti-proxy ihambisana. Inqubomgomo yayo ye-requiresTunnel isebenzisa i-CONNECT emagomeni avikelekile nasemizileni yemithetho engahambisani.
Lena akusiyo indlela yokususa i-CONNECT kumhubhe we-HTTPS ojwayelekile. Gcina i-scheme yomgomo ilungile.
Sebenzisa i-addProxy ku-API ye-Jetty eshiwo. I-getProxies ibuyisela uhlu olungenakushintshwa, ngakho indlela endala ye-getProxies().add(...) ayisiyo isixhumanisi sayo samanje sokushintsha.
Emagomeni e-HTTP omphakathi emzileni we-proxy womphakathi ovunyelwe, uhlu lwe-proxy ye-HTTP lunikeza abazobamba iqhaza kumphathi ne-port ye-proxy ye-Jetty. Funda impendulo yangempela ye-proxy lapho uqhathanisa izixhumi. Ukuqinisekiswa, inqubomgomo yomgomo kanye nomgomo ongatholakali kuhlala kuhlukile ekukhetheni i-HTTP edluliswayo noma i-CONNECT.