ความล้มเหลวของ DNS ในห่วงโซ่พร็อกซี HTTP: ฮอปใดแก้ชื่อ?
แยกการไปถึงพร็อกซีภายใน การแก้ชื่อพร็อกซีก่อนหน้า และการแก้ชื่อเว็บไซต์ เมื่อวินิจฉัยพร็อกซีส่งต่อแบบเป็นห่วงโซ่
client → local forward proxy → HTTP parent → websiteเริ่มจากชื่อที่ล้มเหลว แทนที่จะบอกว่า DNS ทั้งหมดเป็นของ “พร็อกซี”:
| ชื่อที่ต้องการ | ฮอปที่ต้องไปถึง |
|---|---|
| ปลายทางของพร็อกซีภายใน | ไคลเอนต์ |
| ปลายทางของพร็อกซีก่อนหน้าแบบ HTTP | พร็อกซีส่งต่อภายใน |
| ปลายทางของเว็บไซต์ | พร็อกซีก่อนหน้าเมื่อเปิดการเชื่อมต่อสุดท้าย |
ฮอปเหล่านี้อาจใช้ตัวแก้ไขชื่อต่างกันเมื่อปลายทางเป็นชื่อโฮสต์ สำหรับ HTTPS พร็อกซีส่งต่อสามารถส่งชื่อโฮสต์และพอร์ตปลายทางของ CONNECT ไปยังพร็อกซีก่อนหน้า ซึ่งเป็นผู้สร้างการเชื่อมต่อสุดท้าย ไคลเอนต์ต้นทางไม่จำเป็นต้องแก้ชื่อเว็บไซต์ก่อน การส่งต่อ HTTP ธรรมดาก็พาข้อมูลปลายทางต่อไปข้างหน้าด้วย
นี่ไม่ใช่คำสัญญาว่าจะมีเครื่องเดียวถามทุกชื่อ การประเมิน ACL แคช นโยบาย และรายละเอียดการใช้งานอาจทำให้เกิดการค้นหาเพิ่มเติม
ตรวจสอบนโยบายสำรองเมื่อพร็อกซีก่อนหน้าไม่พร้อมใช้งาน หากอนุญาตให้เข้าถึงโดยตรง พร็อกซีภายในอาจกลายเป็นฮอปที่หันไปทางเว็บไซต์ ด้วยการตัดสินใจเรื่องตัวแก้ไขชื่อและที่อยู่ต้นทางของตัวเอง การกำหนดค่าพร็อกซีก่อนหน้าเพียงอย่างเดียวไม่ได้พิสูจน์ว่าทุกคำขอใช้มัน
เมื่อเกิดความล้มเหลว ให้ระบุชื่อและโพรเซสที่พยายามแก้ชื่อนั้นก่อนแก้ไฟล์ hosts การแก้ไขฝั่งไคลเอนต์ไม่สามารถซ่อมทุกการตัดสินใจปลายทางได้ แหล่งข้อมูลสาธารณะสุดท้ายเป็นของฮอปที่เปิดการเชื่อมต่อเว็บไซต์; การสังเกตแหล่งข้อมูลนั้น ไม่เหมือนกับการวัดว่า DNS เกิดขึ้นที่ใด