Reactor Netty को HTTP प्रोक्सी ह्यान्डलरले साधारण HTTP गन्तव्यको लागि पनि CONNECT सुरुङ स्थापना गर्छ। यदि इच्छित प्रोक्सीले साधारण HTTP/1.1 फर्वार्डिङ स्वीकार गर्छ भने, Spring WebClient ले अर्को समर्थित जडानकर्ता प्रयोग गर्न सक्छ।

Spring 6.2 सँग Jetty 12.0.35 को क्लाइन्ट 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 क्लाइन्टको सुरुवात र बन्द अनुप्रयोगको सामान्य जीवनचक्रमा व्यवस्थापन गर्नुहोस्।

गन्तव्य र क्लाइन्ट-प्रोक्सी प्रोटोकल मिल्दा Jetty को HTTP/1.1 प्रोक्सीले सुरुङ बिना साधारण HTTP/1.1 अनुरोध फर्वार्ड गर्न सक्छ। यसको requiresTunnel नीतिले सुरक्षित गन्तव्य र असंगत प्रोटोकल मार्गका लागि CONNECT प्रयोग गर्छ।

यो साधारण HTTPS सुरुङबाट CONNECT हटाउने तरिका होइन। गन्तव्यको योजना सही राख्नुहोस्।

उल्लेख गरिएको Jetty API मा addProxy प्रयोग गर्नुहोस्। getProxies परिवर्तन गर्न नमिल्ने सूची फर्काउँछ, त्यसैले पुरानो getProxies().add(...) विधि यसको हालको परिवर्तन इन्टरफेस होइन।

अनुमत सार्वजनिक प्रोक्सी मार्गमा सार्वजनिक HTTP गन्तव्यहरूका लागि, HTTP प्रोक्सी सूची ले Jetty प्रोक्सीको होस्ट र पोर्टका लागि उम्मेदवारहरू प्रदान गर्छ। जडानकर्ताहरू तुलना गर्दा वास्तविक प्रोक्सी प्रतिक्रिया पढ्नुहोस्। प्रमाणीकरण, गन्तव्य नीति र उपलब्ध नभएको गन्तव्य फर्वार्ड गरिएको HTTP वा CONNECT छनोट गर्नबाट अलग रहन्छ।

सम्बन्धित लेखहरू