การประกาศ parent ใน Squid อย่างเดียวไม่ได้บังคับให้ทุกคำขอที่ส่งต่อใช้มัน หากเส้นทางตรงขัดนโยบาย ให้ตั้งข้อกำหนดนี้อย่างชัดเจน และทดสอบเมื่อ parent ไม่พร้อมใช้งาน

ตัวอย่างสำหรับ Squid 6.13 นี้ตั้งชื่อ parent หนึ่งตัว และห้ามส่งตรงไปเซิร์ฟเวอร์ต้นทางสำหรับต้นทางไคลเอนต์หนึ่งแห่ง:

cache_peer 192.0.2.20 parent 3128 0 no-query default name=upstream
acl routed_client src 198.51.100.27/32
never_direct allow routed_client

ทั้งสองที่อยู่เป็นค่าตัวอย่าง ในการทดสอบ upstream ที่ควบคุมได้และอนุญาต HTTP parent สาธารณะ ให้เลือกที่อยู่จากรายการ HTTP พร็อกซี เก็บนโยบาย http_access แยกต่างหากที่รับเฉพาะไคลเอนต์ที่ต้องการ กฎเลือกเส้นทางไม่ได้ให้สิทธิ์ไคลเอนต์ใช้พร็อกซี

ตรวจกฎเลือกเส้นทางเดิม

no-query ปิดการถาม ICP ไป peer นี้ เลขศูนย์คือพอร์ตคำถามของ peer ไม่ใช่ตัวรับ HTTP ตัวรับฝั่งไคลเอนต์กับกฎเข้าถึงยังแยกกัน

ตรวจค่า always_direct เดิมและการเลือก peer อื่นก่อนเพิ่มบล็อกนี้ การปฏิเสธการจับคู่ใน always_direct ไม่ได้บังคับใช้ parent ด้วยตัวเอง กฎ never-direct ที่ระบุชัดต่างหากแสดงข้อกำหนดนี้สำหรับไคลเอนต์ที่เลือก

สิ่งนี้ควบคุมธุรกรรมที่ต้องส่งต่อ รายการแคชภายในที่ใช้ได้อาจตอบกลับโดยไม่ติดต่อ parent ดังนั้นไม่มีการเชื่อมต่อ parent ใหม่จึงไม่ได้แปลว่าละเมิดเส้นทางโดยอัตโนมัติ

ตรวจเส้นทางและพฤติกรรมเมื่อล้มเหลว

ใช้ปลายทางที่ควบคุมได้และดูข้อมูลลำดับชั้นใน access logคู่กับสิ่งที่ปลายทางสังเกต สถานะ HTTP สุดท้ายอย่างเดียวบอกไม่ได้ว่า Squid ใช้ parent หรือทางตรง

ในการทดสอบบำรุงรักษา ทำให้ parent ใช้งานไม่ได้แล้วทำคำขอเดิมที่ไม่มีในแคชซ้ำ ถ้านโยบายห้ามส่งตรง ธุรกรรมควรล้มเหลวแทนการไปถึงต้นทางด้วยทางอื่น ทำเฉพาะบริการที่คุณควบคุม และคืนค่าที่ตั้งใจไว้หลังทดสอบ

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