HTTP-framboðsmeðhöndlari Reactor Netty býr til CONNECT-göng jafnvel fyrir venjulegt HTTP-áfangastað. Ef ætlaða framboðið tekur í staðinn við venjulegri HTTP/1.1-framsendingu getur Spring WebClient notað annan studdan tengil.

Fyrir Spring 6.2 með biðlara-API Jetty 12.0.35 og samhæfðri Jetty Reactive Streams-samþættingu:

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 og JettyClientHttpConnector eru Spring-klasar. Stýrðu ræsingu og stöðvun veitta Jetty-biðlarans í gegnum venjulegan lífsferil forritsins.

HTTP/1.1-framboð Jetty getur sent venjulega HTTP/1.1-beiðni án gangs þegar samskiptareglur áfangastaðar og biðlara-framboðs passa saman. requiresTunnel-stefna þess notar CONNECT fyrir örugga áfangastaði og fyrir ósamhæfðar samskiptaregluleiðir.

Þetta er ekki leið til að fjarlægja CONNECT úr venjulegu HTTPS-gangi. Haltu fyrirætlun áfangastaðarins réttri.

Notaðu addProxy í tilgreindu Jetty-API-inu. getProxies skilar óbreytanlegum lista, svo eldra uppskriftin getProxies().add(...) er ekki núverandi breytingarviðmót þess.

Fyrir opinbera HTTP-áfangastaði á leyfilegri opinberri framboðsleið veitir HTTP-framboðslistinn frambjóðendur fyrir framboðshýsil og port Jetty. Lestu raunverulegt framboðssvar þegar þú berð saman tengla. Auðkenning, stefna áfangastaðar og óaðgengilegur áfangastaður haldast aðskilin frá valinu milli framsendrar HTTP og CONNECT.

Tengdir greinar