O regulă PAC pentru nume scurte poate ocoli proxy-ul
Înțelegeți de ce un nume de gazdă fără punct și forma lui complet calificată pot selecta rute diferite în același script PAC.
Un script PAC primește numele gazdei din URL. dashboard nu devine automat dashboard.example.internal înainte de potrivire:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}
Folosiți un endpoint HTTP real în locul adresei din documentație; lista de proxy-uri HTTP oferă candidați pentru teste către destinații publice acolo unde ruta este permisă. În acest script, numele scurt returnează deliberat DIRECT; numele complet calificat ajunge la ramura proxy. „Nume de gazdă simplu” înseamnă o scriere fără punct, nu concluzia că gazda este într-o rețea locală de încredere.
Dacă politica dorită este un singur domeniu intern, potriviți acel domeniu în locul fiecărui nume scurt. dnsDomainIs și shExpMatch au intrări și semantică de model diferite. O verificare de sufix pentru .example.internal nu include rădăcina exactă example.internal; includeți acel caz explicit când este intenționat. Un model în stil shell nu este o subrețea IP sau o expresie regulată.
Comparați rezultatul scriptului pentru numele scurt, numele complet calificat, o gazdă publică fără legătură și orice rădăcină de domeniu dorită. Aceasta testează selecția regulilor fără conectarea la proxy. Inspectați prima regulă care returnează când o ramură DIRECT largă împiedică încercarea unui endpoint altfel accesibil.
Folosiți comparația de nume când exprimă politica; ajutoarele DNS adaugă propriile căutări și întârziere. Păstrați ocolirea locală implicită a browserului separată de script. O verificare localhost nu poate înlocui scrierea reală a destinației publice sau interne.