Reguła PAC dla krótkich nazw może ominąć twoje proxy
Zrozum, dlaczego nazwa hosta bez kropki i jej pełna forma mogą wybierać różne trasy w tym samym skrypcie PAC.
Skrypt PAC otrzymuje nazwę hosta z adresu URL. dashboard nie staje się automatycznie dashboard.example.internal przed dopasowaniem:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}
Użyj prawdziwego punktu końcowego HTTP zamiast adresu dokumentacyjnego; lista proxy HTTP dostarcza kandydatów do testów docelowych hostów publicznych tam, gdzie ta trasa jest dozwolona. W tym skrypcie krótka nazwa celowo zwraca DIRECT; pełna nazwa kwalifikowana trafia do gałęzi proxy. „Zwykła nazwa hosta” oznacza zapis bez kropki, a nie ustalenie, że host znajduje się w zaufanej sieci lokalnej.
Jeśli pożądana polityka dotyczy jednej domeny wewnętrznej, dopasuj tę domenę, a nie każdą krótką nazwę. dnsDomainIs i shExpMatch mają różne dane wejściowe i semantykę wzorca. Sprawdzenie sufiksu dla .example.internal nie obejmuje dokładnego katalogu głównego example.internal; uwzględnij ten przypadek jawnie, gdy jest to zamierzone. Wzorzec w stylu powłoki nie jest podsiecią IP ani wyrażeniem regularnym.
Porównaj wynik skryptu dla krótkiej nazwy, pełnej nazwy kwalifikowanej, niepowiązanego hosta publicznego i każdego zamierzonego katalogu głównego domeny. Testuje to wybór reguły bez łączenia się z proxy. Sprawdź pierwszą regułę zwracającą wynik, gdy szeroka gałąź DIRECT uniemożliwia wypróbowanie innego osiągalnego punktu końcowego.
Używaj porównania nazw, gdy wyraża ono politykę; pomocniki DNS dodają własne wyszukiwania i opóźnienie. Utrzymuj niejawne lokalne obejście przeglądarki oddzielnie od skryptu. Sprawdzenie localhost nie zastąpi rzeczywistego zapisu publicznego lub wewnętrznego miejsca docelowego.