Spracovanie zlyhania DNS vnútri pravidla PAC
Dajte neúspešnému vyhľadaniu PAC DNS vlastnú vetvu politiky namiesto toho, aby ste ho považovali za overenú adresu mimo lokálnej siete.
Neúspešné vyhľadanie nedokazuje, že cieľ je mimo vašej privátnej siete. Dokazuje len, že toto vyhodnotenie PAC nezískalo adresu, ktorú potrebovalo.
Tento rozdiel je dôležitý, keď dnsResolve() napája pravidlo isInNet(). Implementácia PAC v Chrome vracia null, keď preklad zlyhá. Nevystavajte vetvu zlyhania na spomienke, že výsledok je vždy prázdny reťazec.
function FindProxyForURL(url, host) {
var address = dnsResolve(host);
if (!address) {
return "PROXY proxy.example:8080";
}
if (isInNet(address, "10.40.0.0", "255.255.0.0")) {
return "DIRECT";
}
return "PROXY proxy.example:8080";
}
Tento príklad odosiela nepreložené názvy cez proxy. Je to voľba politiky, nie univerzálne bezpečné predvolené nastavenie. Môže byť užitočné, keď má proxy prekladač alebo sieťový pohľad, ktorý klient nemá. Sieť vyžadujúca miestny preklad potrebuje iný explicitný výsledok.
Vyriešte raz a výsledok znova použite. Rozhodnutie tak zostane viazané na jednu hodnotu a vyhnete sa opakovaniu potenciálne pomalých pomocných volaní.
Skontrolujte aj skutočného spotrebiteľa PAC. Staršie pomocné funkcie IPv4 a rozšírené pomocné funkcie IPv6 majú rôzne zmluvy. Pravidlo otestované s implementáciou jedného prehliadača nepreukazuje podporu v každej aplikácii, ktorá používa rovnakú URL PAC.
Ak je požiadavkou iba smerovanie známej firemnej prípony, pravidlo názvu hostiteľa sa môže vyhľadávaniu úplne vyhnúť. Ku klasifikácii podľa adresy sa uchýľte vtedy, keď je adresa informácia, ktorú politika naozaj potrebuje.