บริการ HTTPS บนพอร์ต 8443 เข้าถึงได้ผ่านพร็อกซี HTTP บนพอร์ต 8080 ตัวเลขเหล่านี้ธิบายการเชื่อมต่อที่แตกต่างกัน:

$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 เป็นการเขียนทับพอร์ตปลายทาง ไม่ใช่พอร์ตของพร็อกซี การตั้งเป็น 443 ทุกครั้งที่ URL ขึ้นต้นด้วย https อาจเขียนทับบริการที่โฮสต์ไว้บน 8443 โดยเจตนา libcurl แนะนำให้เลือกพอร์ตใน URL แทนการใช้ตัวเลือกนั้น

เมื่อใช้แฮนเดิลซ้ำ ควรคำนึงถึงการเขียนทับพอร์ตอย่างชัดเจนก่อนหน้าด้วย URL ใหม่ไม่ได้ทำให้ตัวเลือกที่ขัดแย้งกันและยังคงอยู่ตีความได้ง่ายขึ้น

ตัวกลางต้องอนุญาต CONNECT ไปยังพอร์ตปลายทางที่เลือก การปฏิเสธสำหรับ 8443 ไม่ใช่เหตุผลในการย้ายตัวรับฟังของพร็อกซีหรือปิดการตรวจสอบ TLS

บทความที่เกี่ยวข้อง