فرض کنید یک دامنه شریک باید از پروکسی 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 در دسترس نیست، پس هنگام نگهداری این تنظیم از مستندات نسخه استقرار‌یافته منطبق استفاده کنید.

مقالات مرتبط