اسکریپت PAC نام میزبان را از URL دریافت می‌کند. dashboard پیش از تطبیق به‌طور خودکار dashboard.example.internal نمی‌شود:

function FindProxyForURL(url, host) {
  if (isPlainHostName(host)) {
    return "DIRECT";
  }
  return "PROXY 203.0.113.10:8080";
}

به‌جای نشانی مستندات از یک نقطه پایانی واقعی HTTP استفاده کنید؛ فهرست پروکسی HTTP نامزدهایی برای آزمون مقصدهای عمومی فراهم می‌کند، جایی که آن مسیر مجاز است. در این اسکریپت نام کوتاه به‌عمد DIRECT را برمی‌گرداند؛ نام کاملاً واجد شرایط به شاخه پروکسی می‌رسد. «Plain hostname» یعنی املای بدون نقطه، نه این نتیجه که میزبان در یک شبکه محلی مورد اعتماد است.

اگر سیاست مطلوب یک دامنه داخلی است، همان دامنه را تطبیق دهید نه هر نام کوتاه را. dnsDomainIs و shExpMatch ورودی‌ها و معناشناسی الگوی متفاوتی دارند. بررسی پسوند برای .example.internal ریشه دقیق example.internal را شامل نمی‌شود؛ در صورت نیاز آن مورد را صریحاً بگنجانید. الگوی به سبک پوسته، زیرشبکه IP یا عبارات باقاعده نیست.

نتیجه اسکریپت را برای نام کوتاه، نام کاملاً واجد شرایط، یک میزبان عمومی نامرتبط و هر ریشه دامنه موردنظر مقایسه کنید. این انتخاب قاعده را بدون اتصال به پروکسی می‌آزماید. وقتی شاخه گسترده DIRECT مانع آزمودن نقطه پایانی می‌شود که در غیر این صورت در دسترس بود، نخستین قاعده‌ای که بازمی‌گردد را بررسی کنید.

وقتی سیاست را بیان می‌کند از مقایسه نام استفاده کنید؛ کمک‌تابع‌های DNS جست‌وجوها و تأخیر خود را اضافه می‌کنند. عبور محلی ضمنی مرورگر را نیز از اسکریپت جدا نگه دارید. بررسی localhost نمی‌تواند جای املای واقعی مقصد عمومی یا داخلی را بگیرد.

مقالات مرتبط