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-ի ստուգումը չի կարող փոխարինել հանրային կամ ներքին նպատակակետի իրական գրությունը։

Առնչվող հոդվածներ