การตรวจสุขภาพ HAProxy สำหรับ Squid พร็อกซี่แบบส่งต่อ
สร้างการตรวจสุขภาพ HAProxy ที่พูดคุยกับพร็อกซี่แบบส่งต่อ และแยกความสามารถเข้าถึงของผู้รับฟัง การยอมรับ CONNECT และการดึงจากต้นทาง
ไฟล์ชื่อ /check.txt บนโฮสต์พร็อกซี่ฟังดูเป็นเป้าหมายสุขภาพที่ชัดเจน กับดักคือผู้รับฟังแบบส่งต่อที่ชัดเจนของ Squid ไม่ใช่เว็บไซต์ทั่วไปที่ให้บริการรากเอกสารของโฮสต์นั้น
คำขอแบบต้นทางเช่น HEAD /check.txt HTTP/1.1 ละเลย เป้าหมายสัมบูรณ์ที่คาดหวังสำหรับคำขอ HTTP ปกติผ่านพร็อกซี่แบบส่งต่อ ขึ้นอยู่กับการกำหนดค่า อาจถูกปฏิเสธหรือจัดการโดยบริการท้องถิ่นอื่น ผลลัพธ์ทั้งสองอาจบอกคุณได้น้อยกว่าที่แดชบอร์ดบ่งชี้
เลือกบริการที่คุณต้องเก็บไว้ให้พร้อมใช้งาน
| การตรวจ | หลักฐานที่เป็นประโยชน์ |
|---|---|
| การเชื่อมต่อ TCP ไปยังผู้รับฟังพร็อกซี่ | โปรเซสที่เข้าถึงได้ยอมรับการเชื่อมต่อนั้น |
| CONNECT ไปยังเป้าหมายที่ควบคุม | พร็อกซี่ยอมรับคำขออุโมงค์นั้น |
| การดึง HTTP ผ่านพร็อกซี่ | เส้นทางคำขอที่เลือกสามารถคืนการตอบสนองที่คาดหวัง |
ในกรณีที่สาม คำขอต้องมีเป้าหมาย ตัวอย่างเช่น:
HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal
ชื่อโฮสต์เป็นเพียงตัวอย่าง ใช้ปลายทางที่ควบคุมซึ่งพร็อกซี่แก้ไขได้และได้รับอนุญาตให้เข้าถึงโดยเจตนา http-check send ของ HAProxy รองรับการเลือกเมธอด URI เวอร์ชัน และส่วนหัว กำหนดคำขอนั้นอย่างชัดเจนแทนการสืบทอดตัวอย่างเซิร์ฟเวอร์ต้นทางโดยไม่เปลี่ยนแปลง
HEAD ตรวจสอบสถานะและการตอบสนองส่วนหัวได้ ไม่สามารถตรวจสอบเนื้อหาการตอบสนองที่ไม่เคยถูกส่งได้ หากสัญญาสุขภาพต้องการเครื่องหมายในเนื้อหา ให้เลือกการตรวจ GET ที่เหมาะสมและตรวจสอบเครื่องหมายนั้น
รักษาบัญชีตรวจและข้อจำกัดแหล่งที่มาให้แคบเมื่อมีการพิสูจน์ตัวตนพร็อกซี่ การยกเว้นผู้รับฟังทั้งหมดจากการพิสูจน์ตัวตนเพื่อให้ได้เครื่องหมายสีเขียวเปลี่ยนบริการที่ได้รับการป้องกัน
สุดท้าย ตัดสินใจว่าการตรวจที่ล้มเหลวควรถอดอะไรออก การหยุดชะงักของต้นทางที่ควบคุมอาจทำให้การตรวจการส่งต่อของทุกพร็อกซี่ล้มเหลวพร้อมกัน นั่นอาจเป็นการพึ่งพาที่คุณต้องการวัด หรือเป็นเหตุผลให้เก็บสุขภาพผู้รับฟังและความพร้อมใช้งานแบบปลายถึงปลายเป็นสัญญาณแยกกัน