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; включете този случай изрично, когато е нужно. Шаблон в стил shell не е IP подмрежа или регулярен израз.

Сравнете резултата на скрипта за краткото име, напълно квалифицираното име, несвързан публичен хост и всеки предвиден корен на домейн. Това тества избора на правило без свързване с проксито. Прегледайте първото правило, което връща, когато широк DIRECT клон пречи да се опита иначе достъпна крайна точка.

Използвайте сравнение на имена, когато то изразява политиката; DNS помощните функции добавят свои собствени заявки и забавяне. Дръжте и имплицитното локално заобикаляне на браузъра отделно от скрипта. Проверка на localhost не може да замести истинското изписване на публичната или вътрешната дестинация.

Подобни статии