Una regla PAC per a noms curts pot eludir el vostre proxy
Enteneu per què un nom d’amfitrió sense punts i la seva forma totalment qualificada poden triar rutes diferents al mateix script PAC.
Un script PAC rep el nom d’amfitrió de l’URL. dashboard no es converteix automàticament en dashboard.example.internal abans de la concordança:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}Feu servir un punt final HTTP real en lloc de l’adreça de documentació; la llista de proxys HTTP ofereix candidats per a proves amb destinacions públiques on aquesta ruta estigui permesa. En aquest script, el nom curt retorna deliberadament DIRECT; el nom totalment qualificat arriba a la branca del proxy. «Plain hostname» vol dir una escriptura sense punts, no la conclusió que l’amfitrió és en una xarxa local de confiança.
Si la política desitjada és un sol domini intern, feu coincidir aquest domini en lloc de cada nom curt. dnsDomainIs i shExpMatch tenen entrades i semàntiques de patró diferents. Una comprovació de sufix per a .example.internal no inclou l’arrel exacta example.internal; incloeu aquest cas explícitament quan calgui. Un patró d’estil shell no és una subxarxa IP ni una expressió regular.
Compareu el resultat del script per al nom curt, el nom totalment qualificat, un amfitrió públic no relacionat i qualsevol arrel de domini prevista. Això prova la selecció de regles sense connectar-se al proxy. Reviseu la primera regla que retorna quan una branca DIRECT àmplia impedeix provar un punt final que d’altra manera seria accessible.
Feu servir una comparació de noms quan expressi la política; els auxiliars DNS afegeixen les seves consultes i retard. Mantingueu també l’omissió local implícita del navegador separada del script. Una comprovació de localhost no pot substituir l’escriptura real de la destinació pública o interna.