Апрацоўка збою DNS унутры правіла PAC
Дайце няўдаламу пошуку PAC уласную галіну палітыкі, замест таго каб лічыць яго пацверджаным адрасам па-за лакальнай сеткай.
Няўдалы пошук не даказвае, што пункт прызначэння знаходзіцца па-за вашай прыватнай сеткай. Ён даказвае толькі тое, што гэтае ацэньванне PAC не атрымала патрэбны адрас.
Гэта розніца важная, калі dnsResolve() сілкуе правіла isInNet(). Рэалізацыя PAC у Chromium вяртае null, калі развязанне не ўдалося. Не будуйце галіну збою на ўспаміне пра тое, што вынік заўсёды пусты радок.
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";
}
Гэты прыклад адпраўляе нявырашаныя імёны праз проксі. Гэта палітычны выбар, а не ўніверсальная бяспечная налада. Ён можа быць карысным, калі проксі мае рэзалютар або бачанне сеткі, недаступныя кліенту. Сетка, якая патрабуе лакальнага развязання, мае патрэбу ў іншым яўным выніку.
Развяжыце адзін раз і паўторна выкарыстоўвайце вынік. Гэта звязвае рашэнне з адным значэннем і пазбягае паўтарэння патэнцыйна павольных дапаможных выклікаў.
Праверце таксама фактычнага спажыўца PAC. Старыя дапаможнікі IPv4 і пашыраныя дапаможнікі IPv6 маюць розныя кантракты. Правіла, праверанае на рэалізацыі аднаго браўзера, не даказвае падтрымку ва ўсіх праграмах, якія выкарыстоўваюць той жа URL PAC.
Калі патрабаванне — проста накіраваць вядомы суфікс кампаніі, правіла імя хоста можа цалкам пазбегнуць пошуку. Звяртайцеся да класіфікацыі па адрасе, калі адрас — гэта інфармацыя, якая палітыцы сапраўды патрэбная.