סקריפט PAC מקבל את שם המארח מה-URL. dashboard אינו הופך אוטומטית ל-dashboard.example.internal לפני ההתאמה:

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

השתמשו בנקודת קצה HTTP אמיתית במקום בכתובת התיעוד; רשימת ה-proxy של HTTP מספקת מועמדים לבדיקות מול יעד ציבורי שבו המסלול הזה מותר. בסקריפט הזה השם הקצר מחזיר במכוון DIRECT; השם המלא מגיע לענף ה-proxy. “Plain hostname” פירושו כתיב בלי נקודה, ולא קביעה שהמארח נמצא ברשת מקומית מהימנה.

אם המדיניות הרצויה היא דומיין פנימי אחד, התאימו לדומיין הזה ולא לכל שם קצר. ל-dnsDomainIs ול-shExpMatch יש קלט וסמנטיקת תבנית שונים. בדיקת סיומת עבור .example.internal אינה כוללת את השורש המדויק example.internal; כללו את המקרה הזה במפורש כשזה מכוון. תבנית בסגנון shell אינה תת-רשת IP ואינה ביטוי רגולרי.

השוו את תוצאת הסקריפט עבור השם הקצר, השם המלא, מארח ציבורי לא קשור וכל שורש דומיין מבוקש. זה בודק את בחירת הכללים בלי להתחבר ל-proxy. בדקו את הכלל הראשון שמחזיר כאשר ענף DIRECT רחב מונע ניסיון של נקודת קצה שאחרת נגישה.

השתמשו בהשוואת שמות כשהיא מבטאת את המדיניות; עוזרי DNS מוסיפים חיפושים ועיכוב משלהם. הפרידו גם את העקיפה המקומית המשתמעת של הדפדפן מהסקריפט. בדיקת localhost אינה יכולה להחליף את הכתיב האמיתי של היעד הציבורי או הפנימי.

מאמרים קשורים