HTTP प्रोक्सीमार्फत Autobahn Twisted WSS जडान गर्नुहोस्
प्रोक्सी-सचेत फ्याक्ट्रीको छेउमा सिधा इन्डपोइन्ट खोल्नुको सट्टा connectWS लाई प्रोक्सी इन्डपोइन्ट र पछिको गन्तव्य TLS समन्वय गर्न दिनुहोस्।
Twisted इन्डपोइन्टले TCP जडान गर्छ। प्रोक्सीसँग वार्ता गर्न कन्फिगर गरिएको WebSocket फ्याक्ट्रीलाई मध्यस्थसँग जोडिन अझै त्यही इन्डपोइन्ट चाहिन्छ।
आफ्नो मानक सहायक प्रयोग गर्ने विद्यमान Autobahn अनुप्रयोगका लागि:
from autobahn.twisted.websocket import WebSocketClientFactory, connectWS
from twisted.internet import ssl
factory = WebSocketClientFactory(
'wss://events.example/channel',
proxy={'host': 'proxy.example', 'port': 8080},
)
factory.protocol = ApplicationProtocol
connector = connectWS(
factory,
contextFactory=ssl.optionsForClientTLS('events.example'),
timeout=10,
)
ApplicationProtocol अनुप्रयोगको विद्यमान WebSocket प्रोटोकल वर्ग हो। रिएक्टर र जडान सफाइ त्यही अनुप्रयोगको जीवनचक्रमा राख्नुहोस्। सार्वजनिक मध्यस्थमार्फत अनुमति दिइएको सार्वजनिक WSS सेवाका लागि, HTTP प्रोक्सी सूची ले फ्याक्ट्रीको प्रोक्सी होस्ट र पोर्टका लागि उम्मेदवार दिन्छ।
प्रोक्सीका लागि कन्फिगर गरिएको फ्याक्ट्रीमा, connectWS ले TCP लाई प्रोक्सीसँग जोड्छ र पछिको सुरक्षित जडानका लागि गन्तव्य TLS सन्दर्भ राख्छ। यसले सुरुमा सामान्य HTTP प्रोक्सी जडानलाई गन्तव्य TLS मा बेर्दैन।
अनुकूलित HostnameEndpoint र ClientService मिलानले त्यही विभाजन कायम राख्नुपर्छ: पहिले प्रोक्सीसँग जोडिनुहोस्, त्यसपछि कन्फिगर गरिएको फ्याक्ट्रीलाई लक्ष्यसँग वार्ता गर्न र आवश्यक TLS स्थापना गर्न दिनुहोस्। फ्याक्ट्रीले प्रोक्सी वार्ताको अपेक्षा गर्दा इन्डपोइन्टलाई सिधै events.example सँग जोड्दा ती भूमिका मिसिन्छन्।
WebSocket URL सेवाको वास्तविक गन्तव्य रहन्छ। यसको होस्टनामले TLS पहिचान पनि दिन्छ; यसलाई प्रोक्सी होस्टनामले बदल्दा अभिप्रेत सुरक्षित सेवा कन्फिगर हुँदैन।