የ Reactor Netty የ HTTP proxy handler ለተራ HTTP መድረሻም ቢሆን CONNECT tunnel ይመሰርታል። የታሰበው proxy በምትኩ ተራ HTTP/1.1 ማስተላለፍን የሚቀበል ከሆነ፣ Spring WebClient ሌላ የሚደገፍ connector ሊጠቀም ይችላል።

ለ Spring 6.2 ከ Jetty 12.0.35 client API እና ተኳኋኝ የ Jetty Reactive Streams ውህደት ጋር፦

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 እና JettyClientHttpConnector የ Spring ክፍሎች ናቸው። የተሰጠውን የ Jetty client ማስጀመርና ማቆምን በመተግበሪያው የተለመደ የሕይወት ዑደት በኩል አስተዳድር።

የ Jetty HTTP/1.1 proxy ተራ HTTP/1.1 ጥያቄን ያለ tunnel ማስተላለፍ ይችላል፣ የመድረሻውና የ client-proxy ፕሮቶኮሎች ሲመሳሰሉ። የ requiresTunnel ፖሊሲው CONNECT ይጠቀማል ለደህንነቱ የተጠበቁ መድረሻዎችና ለማይኳኋኑ የፕሮቶኮል መንገዶች።

ይህ CONNECT ን ከተራ HTTPS tunnel ለማስወገድ መንገድ አይደለም። የመድረሻውን scheme ትክክል አድርግ።

በተጠቀሰው የ Jetty API ውስጥ addProxy ተጠቀም። getProxies የማይለወጥ ዝርዝር ይመልሳል፣ ስለዚህ የቆየው getProxies().add(...) አሠራር የአሁኑ የማሻሻያ interface አይደለም።

ለህዝብ HTTP መድረሻዎች በተፈቀደ የህዝብ-proxy መንገድ ላይ፣ የ HTTP proxy ዝርዝር ለ Jetty proxy host እና port እጩዎችን ያቀርባል። connectorዎችን ሲያወዳድሩ ትክክለኛውን የ proxy ምላሽ አንብብ። Authentication፣ destination policy እና የማይገኝ target ከ forward HTTP ወይም CONNECT ምርጫ የተለዩ ናቸው።

ተዛማጅ ጽሑፎች