HTTPS अनुरोधहरूका लागि Akka HTTP को CONNECT ट्रान्सपोर्ट
proxy ट्रान्सपोर्टलाई connection-pool सेटिङहरूमा जोड्नुहोस् र टनेल चाहिने अनुरोधमा ती सेटिङहरू पठाउनुहोस्।
Akka HTTP को HTTPS अनुरोधका लागि, forward proxy मार्फत CONNECT स्थापना गर्न यसको client transport कन्फिगर गर्नुहोस्:
import java.net.InetSocketAddress
import akka.http.scaladsl.{ClientTransport, Http}
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.settings.ConnectionPoolSettings
val transport = ClientTransport.httpsProxy(
InetSocketAddress.createUnresolved("proxy.example", 8080))
val settings = ConnectionPoolSettings(system)
.withConnectionSettings(_.withTransport(transport))
val response = Http().singleRequest(
HttpRequest(uri = "https://example.com/"),
settings = settings)
अनुप्रयोगले आफ्नो विद्यमान ActorSystem लाई system का रूपमा दिन्छ र सामान्य stream तथा response-entity जीवनचक्र कायम राख्छ। जडान छोड्न सकियोस् भनेर फर्किएको response entity लाई उपयुक्त रूपमा उपभोग गर्नुहोस् वा त्याग्नुहोस्।
यहाँ httpsProxy नामले HTTP CONNECT proxy मार्फत HTTPS गन्तव्य जडान स्थापना गर्ने कुरालाई जनाउँछ। यो proxy listener मै TLS सत्र खोल्ने निर्देशन होइन।
अनुकूलित सेटिङहरू ट्राफिक पठाउने अनुरोध वा pool मा पठाउनुहोस्। अर्को pool कन्फिगरेसन प्रयोग गर्ने कलको छेउमा सेटिङ बनाउँदा त्यो कल परिवर्तन हुँदैन।
Akka ले यो ट्रान्सपोर्टलाई HTTPS अनुरोधहरूका लागि कागजात गर्छ। गन्तव्यलाई यसको वास्तविक HTTPS URI का रूपमा राख्नुहोस्। HTTP proxy सूचीको HTTP endpoint आवश्यक CONNECT गन्तव्य अनुमति दिन्छ भने ट्रान्सपोर्टका लागि उम्मेदवार हो। सर्भर-पक्षको bindFlow forwarding उदाहरणले अर्को HTTP सेवा बनाउँछ र फरक निर्माण समस्याको जवाफ दिन्छ।