cURL में प्रॉक्सी पोर्ट बनाम गंतव्य पोर्ट
HTTPS सेवा का पोर्ट उसके गंतव्य URL में और मध्यस्थ का पोर्ट प्रॉक्सी URL में रखें, उन्हें CURLOPT_PORT से ओवरराइड किए बिना।
पोर्ट 8443 पर चलने वाली HTTPS सेवा तक पोर्ट 8080 पर चलने वाले HTTP प्रॉक्सी के ज़रिए पहुँचा जा सकता है। ये संख्याएँ अलग-अलग कनेक्शन बताती हैं:
$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
निष्पादन, त्रुटि प्रबंधन और हैंडल के जीवनकाल का दायित्व अब भी एप्लिकेशन के पास है। कोड अंश प्रमाणपत्र सत्यापन बदले बिना रूटिंग इनपुट को साथ रखता है।
cURL पहले proxy.example:8080 से जुड़ता है। इस HTTPS गंतव्य के लिए टनल अनुरोध api.example:8443 का नाम लेता है, और TLS पहचान api.example ही रहती है।
CURLOPT_PORT गंतव्य पोर्ट का ओवरराइड है, प्रॉक्सी का पोर्ट नहीं। जब भी URL https से शुरू हो तब इसे 443 पर सेट करना 8443 पर जानबूझकर होस्ट की गई सेवा को ओवरराइड कर सकता है। libcurl उस विकल्प का उपयोग करने के बजाय URL में पोर्ट चुनने की सलाह देता है।
हैंडल का पुनः उपयोग करते समय पहले किए गए किसी भी स्पष्ट पोर्ट ओवरराइड को भी ध्यान में रखें। नया URL परस्पर विरोधी बचे विकल्पों की व्याख्या आसान नहीं बनाता।
मध्यस्थ को चुने गए गंतव्य पोर्ट पर CONNECT की अनुमति देनी होगी। 8443 के लिए इनकार प्रॉक्सी लिसनर हटाने या TLS सत्यापन बंद करने का कारण नहीं है।