Կարճ անունների PAC կանոնը կարող է շրջանցել ձեր պրոքսին
Հասկացեք, թե ինչու առանց կետի հոսթի անունը և դրա ամբողջական ձևը կարող են տարբեր երթուղիներ ընտրել նույն PAC սկրիպտում։
PAC սկրիպտը հոսթի անունը ստանում է URL-ից։ Համեմատելուց առաջ dashboard ինքնաբերաբար չի դառնում dashboard.example.internal։
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}Փաստաթղթային հասցեի փոխարեն օգտագործեք իրական HTTP վերջնակետ. HTTP պրոքսիների ցանկը առաջադրում է թեկնածուներ հանրային նպատակակետի փորձարկումների համար, որտեղ այդ երթուղին թույլատրված է։ Այս սկրիպտում կարճ անունը դիտավորյալ վերադարձնում է DIRECT. ամբողջական անունը հասնում է պրոքսի ճյուղին։ «Plain hostname» նշանակում է առանց կետի գրություն, ոչ թե այն եզրակացությունը, որ հոսթը վստահելի տեղական ցանցում է։
Եթե ցանկալի քաղաքականությունը մեկ ներքին դոմեն է, համեմատեք այդ դոմենի հետ, այլ ոչ բոլոր կարճ անունների։ dnsDomainIs-ը և shExpMatch-ը տարբեր մուտքեր և օրինաչափության իմաստ ունեն։ .example.internal-ի համար վերջավորության ստուգումը չի ներառում ճշգրիտ example.internal արմատը. երբ դա է նպատակը, այդ դեպքը հստակ ներառեք։ Shell-ոճի օրինաչափությունը IP ենթացանց կամ կանոնավոր արտահայտություն չէ։
Համեմատեք սկրիպտի արդյունքը կարճ անվան, ամբողջական անվան, անկապ հանրային հոսթի և ցանկացած նախատեսված դոմենի արմատի համար։ Սա ստուգում է կանոնի ընտրությունը՝ առանց պրոքսիին միանալու։ Ստուգեք առաջին վերադարձող կանոնը, երբ լայն DIRECT ճյուղը խանգարում է այլապես հասանելի վերջնակետի փորձարկմանը։
Օգտագործեք անվան համեմատություն, երբ այն արտահայտում է քաղաքականությունը. DNS օժանդակ միջոցները ավելացնում են իրենց հարցումներն ու ուշացումը։ Բրաուզերի անուղղակի տեղական շրջանցումը նույնպես առանձին պահեք սկրիպտից։ localhost-ի ստուգումը չի կարող փոխարինել հանրային կամ ներքին նպատակակետի իրական գրությունը։