क्लायंट स्ट्रीम रिले करण्यापूर्वी CONNECT हेडर पार्स करणे पूर्ण करा
केवळ विनंती ओळीनंतर रिले करणारा प्रॉक्सी सर्व्हर त्याचे स्वतःचे Host हेडर गंतव्याच्या TLS पोर्टवर पाठवू शकतो.
CONNECT विनंती ओळीनंतरही हे बाइट प्रॉक्सीचेच आहेत:
CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\nHost किंवा User-Agent पोर्ट 443 वर फॉरवर्ड केल्यास गंतव्याला जिथे TLS अपेक्षित आहे तिथे साधा-मजकूर हेडर मिळतात. कोणत्याही सिफर निवडीचे महत्त्व येण्यापूर्वीच हा अपयश येऊ शकतो.
- सेटअप मुदतीत आणि हेडर-आकार मर्यादेत रिकाम्या ओळीच्या हेडर टर्मिनेटरपर्यंत वाचा आणि पार्स करा.
- प्रॉक्सी प्रमाणीकरण आणि गंतव्य धोरण लागू करा.
- मंजूर लक्ष्य कनेक्शन स्थापित करा.
- यशस्वी CONNECT उत्तर पाठवा आणि टनल मोडमध्ये प्रवेश करा.
सीमेनंतरचे बफर केलेले बाइट योग्य पुढील स्थितीसाठी जतन करा. ते टाकून देवू नका आणि प्रॉक्सीच्या विनंती हेडरला वेबसाइटची नंतरची विनंती मानू नका.
क्लायंटवर उत्तर-बाजूचे समान दायित्व आहे: टनल केलेला प्रोटोकॉल सुरू करण्यापूर्वी यशस्वी CONNECT उत्तर वाचणे पूर्ण करा. स्ट्रीम भूमिका बदलते त्या सीमेवर दोन्ही टोकांनी सहमती दर्शवावी.