Pravidlo PAC pre krátke názvy môže obísť vaše proxy
Pochopte, prečo názov hostiteľa bez bodky a jeho plne kvalifikovaná podoba môžu v tom istom skripte PAC vybrať rôzne trasy.
Skript PAC dostáva názov hostiteľa z URL. dashboard sa pred porovnaním automaticky nestane dashboard.example.internal:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}
Namiesto dokumentačnej adresy použite skutočný koncový bod HTTP; zoznam HTTP proxy poskytuje kandidátov na testy verejných cieľov tam, kde je táto trasa povolená. V tomto skripte krátky názov zámerne vracia DIRECT; plne kvalifikovaný názov sa dostane do vetvy proxy. „Obyčajný názov hostiteľa“ znamená zápis bez bodky, nie zistenie, že hostiteľ je v dôveryhodnej lokálnej sieti.
Ak je želanou politikou jedna interná doména, porovnávajte túto doménu namiesto každého krátkeho názvu. dnsDomainIs a shExpMatch majú odlišné vstupy a sémantiku vzorov. Kontrola prípony pre .example.internal nezahŕňa presný koreň example.internal; ak je to zamýšľané, zahrňte tento prípad výslovne. Vzor v štýle shellu nie je podsietí IP ani regulárny výraz.
Porovnajte výsledok skriptu pre krátky názov, plne kvalifikovaný názov, nesúvisiaceho verejného hostiteľa a akýkoľvek zamýšľaný koreň domény. Tým sa testuje výber pravidla bez pripojenia k proxy. Preskúmajte prvé pravidlo, ktoré vráti výsledok, keď široká vetva DIRECT bráni vyskúšaniu inak dostupného koncového bodu.
Použite porovnanie názvov, keď vyjadruje politiku; pomocníci DNS pridávajú vlastné vyhľadávania a oneskorenie. Implicitné lokálne obchádzanie prehliadača udržiavajte oddelene od skriptu. Kontrola localhost nemôže nahradiť skutočný zápis verejného alebo interného cieľa.