พร็อกซี HTTP กับ HTTPS: ป้ายกำกับนี้หมายถึงอะไร
แยกให้ออกระหว่างพร็อกซี HTTP ที่สร้างอุโมงค์ไปยังเว็บไซต์ HTTPS กับพร็อกซี HTTPS ที่เข้ารหัสการเชื่อมต่อถึงตัวพร็อกซีเอง
ใช้สคีมที่ระบุไว้ในเอกสารของลิสเทนเนอร์พร็อกซี เมื่อเลือกตัวเลือกจากรายการพร็อกซี HTTP ให้ยืนยันสคีมของลิสเทนเนอร์ก่อนตั้งค่าไคลเอนต์ เว็บไซต์ HTTPS สามารถใช้ http://proxy.example:8080 ได้ การเปลี่ยนค่านี้เป็น https:// คือการขอเชื่อมต่อกับพร็อกซีด้วยวิธีอีกแบบหนึ่ง
| URL ของพร็อกซี | URL ของเว็บไซต์ | การเชื่อมต่อ |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | HTTP แบบไม่เข้ารหัสทั้งถึงพร็อกซีและปลายทาง |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT ถึงพร็อกซี แล้วจึงใช้ TLS กับปลายทางผ่านอุโมงค์ |
https://proxy.example:8443 | https://example.com/ | TLS ถึงพร็อกซี โดยอุโมงค์ไปยังปลายทางอยู่ภายในการเชื่อมต่อนั้น |
สำหรับลิสเทนเนอร์ HTTP ทั่วไปที่อนุญาต CONNECT การตั้งค่านี้สอดคล้องกัน:
curl --proxy http://127.0.0.1:8080 https://example.com/การแฮนด์เชก TLS กับเว็บไซต์จะเกิดขึ้นหลังจากพร็อกซียอมรับอุโมงค์แล้ว หากเปลี่ยน URL ของพร็อกซีเป็น https:// แต่ลิสเทนเนอร์เข้าใจเฉพาะ HTTP แบบไม่เข้ารหัส การเจรจา TLS กับพร็อกซีอาจล้มเหลวก่อนที่จะติดต่อเว็บไซต์
TLS ถึงพร็อกซีช่วยเพิ่มอะไร
พร็อกซีที่รองรับ TLS ปกป้องการเชื่อมต่อระหว่างไคลเอนต์กับพร็อกซี รวมถึงการแลกเปลี่ยน CONNECT และการยืนยันตัวตนกับพร็อกซี จากการดักฟังแบบพาสซีฟบนเส้นทางช่วงนั้น ผู้ให้บริการพร็อกซียังคงจัดการการเชื่อมต่อและทราบปลายทางของอุโมงค์ ทั้งไคลเอนต์และลิสเทนเนอร์ต้องรองรับโหมดนี้:
curl --proxy https://proxy.example:8443 https://example.com/ใช้ชื่อโฮสต์จริงของบริการ ใบรับรองต้องตรงกับชื่อนั้นและได้รับความเชื่อถือ ข้อจำกัดด้านปลายทางและพอร์ตยังคงมีผล
เมื่อใช้ HTTPS ทั้งสองฝั่ง จะมีการตรวจสอบใบรับรองสองส่วน curl ให้ตั้งค่าแยกกันได้:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert กำหนดความเชื่อถือสำหรับพร็อกซี ส่วน --cacert กำหนดความเชื่อถือสำหรับปลายทาง หากจำเป็นให้ใช้ชุดใบรับรองที่ผู้ดูแลระบบจัดให้ การตั้งค่าความเชื่อถือของระบบอาจเพียงพออยู่แล้ว ก่อนเปลี่ยนส่วนใด ให้ระบุให้ได้ว่าการแฮนด์เชกใดล้มเหลว
ป้าย “HTTPS” ในรายการพร็อกซีอาจหมายถึงเพียงว่าเอนด์พอยต์นั้นผ่านการทดสอบ CONNECT หากรายการไม่ได้อธิบายวิธีทดสอบ ป้ายนี้เพียงอย่างเดียวจะไม่บอกว่าลิสเทนเนอร์ต้องการ http:// หรือ https://