สมมติว่าโดเมนพันธมิตรหนึ่งต้องใช้พร็อกซี upstream ที่กำหนดไว้ ขณะที่คำขออื่นที่ได้รับอนุญาตใช้พาเรนต์ปกติ ใน Squid 7 พีียร์ที่ตั้งชื่อและ cache_peer_access แสดงนโยบายนั้น:

cache_peer partner-proxy.example parent 3128 0 no-query name=partner_parent
cache_peer general-proxy.example parent 3128 0 no-query name=general_parent

acl partner_domain dstdomain .partner.example

cache_peer_access partner_parent allow partner_domain
cache_peer_access partner_parent deny all

cache_peer_access general_parent deny partner_domain
cache_peer_access general_parent allow all

never_direct allow all

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

สำหรับปลายทางที่ตรงกัน เฉพาะ partner_parent เท่านั้นที่ยังมีสิทธิ์ สำหรับปลายทางอื่น เฉพาะ general_parent เท่านั้นที่ยังมีสิทธิ์ กฎแรกที่ตรงกันสำหรับแต่ละพีียร์เป็นตัวตัดสินว่าพีียร์นั้นมีสิทธิ์หรือไม่

cache_peer_access กรองผู้สมัคร ไม่ได้จัดเรียงพีียร์ทั้งหมดเป็นลูกโซ่สำรอง หากคุณปล่อยให้หลายตัวมีสิทธิ์ อัลกอริทึมการเลือกพีียร์ของ Squid จะเลือกจากพีียร์เหล่านั้น

บรรทัด never_direct ทำให้การใช้พาเรนต์เป็นข้อบังคับในตัวอย่างนี้ หากไม่สามารถใช้พาเรนต์ที่ต้องการได้ จะไม่มีการเสนอการเชื่อมต่อโดยตรงเป็นทางเลือกแทน เก็บสิทธิ์ไคลเอนต์และปลายทางที่มีอยู่ใน http_access ไว้ กฎเหล่านั้นเป็นตัวกำหนดว่าคำขอใดจะถูกยอมรับก่อนการเลือก upstream

การกำหนดค่านี้ใช้อินเทอร์เฟซ Squid 7 ที่มีเอกสารกำกับ เอกสารอ้างอิงระบุว่า cache_peer_access ไม่พร้อมใช้งานใน Squid 8 ดังนั้นควรใช้เอกสารของเวอร์ชันที่ติดตั้งซึ่งตรงกันเมื่อดูแลการตั้งค่านี้

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