PAC правило за кратка имена може да заобиђе ваш прокси
Схватите зашто име хоста без тачке и његов потпуно квалификовани облик могу да изаберу различите руте у истом PAC скрипту.
PAC скрипта прима име хоста из URL-а. dashboard не постаје аутоматски dashboard.example.internal пре поређења:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}
Користите прави HTTP endpoint уместо адресе из документације; листа HTTP проксија даје кандидате за тестове јавних одредишта где је та рута дозвољена. У овој скрипти кратко име намерно враћа DIRECT; потпуно квалификовано име доспева у proxy грану. „Обично име хоста” значи писање без тачке, а не закључак да је хост на поузданој локалној мрежи.
Ако је жељена политика један интерни домен, упарите тај домен уместо сваког кратког имена. dnsDomainIs и shExpMatch имају различите улазе и семантику шаблона. Провера суфикса за .example.internal не укључује тачан корен example.internal; укључите тај случај експлицитно када је то намера. Шаблон у стилу shell-а није IP подмрежа ни регуларни израз.
Упоредите резултат скрипте за кратко име, потпуно квалификовано име, неповезани јавни хост и сваки предвиђени корен домена. Ово тестира избор правила без повезивања са proxy-јем. Прегледајте прво правило које враћа резултат када широка DIRECT грана спречава испробавање иначе доступног endpoint-а.
Користите поређење имена када изражава политику; DNS помоћници додају сопствене претраге и кашњење. Држите имплицитно локално заобилажење прегледача одвојено од скрипте. Провера localhost-а не може заменити стварно писање јавног или интерног одредишта.