Правіла 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 замест адраса з дакументацыі; спіс HTTP-проксі прапануе кандыдатаў для тэстаў публічных прызначэнняў там, дзе гэты маршрут дазволены. У гэтым скрыпце кароткае імя наўмысна вяртае DIRECT; поўнае кваліфікаванае імя дасягае галіны проксі. “Plain hostname” азначае напісанне без кропкі, а не выснову, што хост знаходзіцца ў даверанай лакальнай сетцы.
Калі жаданая палітыка — адзін унутраны дамен, супастаўляйце гэты дамен, а не кожнае кароткае імя. dnsDomainIs і shExpMatch маюць розныя ўваходы і семантыку шаблонаў. Праверка суфікса для .example.internal не ўключае дакладны корань example.internal; уключыце гэты выпадак яўна, калі гэта патрэбна. Шаблон у стылі абалонкі не з’яўляецца IP-падсеткай або рэгулярным выразам.
Параўнайце вынік скрыпта для кароткага імя, поўнага кваліфікаванага імя, незвязанага публічнага хоста і любога прадугледжанага кораня дамена. Гэта правярае выбар правіла без падключэння да проксі. Разгледзьце першае правіла, якое вяртае, калі шырокая галіна DIRECT перашкаджае спробе інакш даступнай канчатковай кропкі.
Выкарыстоўвайце параўнанне імёнаў, калі яно выражае палітыку; дапаможнікі DNS дадаюць уласныя запыты і затрымку. Трымайце няяўны лакальны абыход браўзера таксама асобна ад скрыпта. Праверка localhost не можа замяніць сапраўднае напісанне публічнага або ўнутранага прызначэння.