لنفترض أن نطاق شريك واحد يجب أن يستخدم وكيلًا أعلى مخصصًا، بينما تستخدم الطلبات المسموح بها الأخرى الأب العادي. في 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؛ فهذه القواعد تحدد الطلبات المقبولة قبل اختيار المصدر الأعلى.

يستخدم هذا الإعداد الواجهة الموثّقة في Squid 7. وتشير الوثائق إلى أن cache_peer_access غير متاح في Squid 8، لذا استخدم وثائق الإصدار المنشور المطابق عند صيانة هذا الإعداد.

مقالات ذات صلة