Et PAC-skript mottar vertsnavnet fra URL-en. dashboard blir ikke automatisk dashboard.example.internal før matching:

function FindProxyForURL(url, host) {
  if (isPlainHostName(host)) {
    return "DIRECT";
  }
  return "PROXY 203.0.113.10:8080";
}

Bruk et ekte HTTP-endepunkt i stedet for dokumentasjonsadressen; HTTP-proxylisten gir kandidater for tester mot offentlige destinasjoner der den ruten er tillatt. I dette skriptet returnerer det korte navnet bevisst DIRECT; det fullt kvalifiserte navnet når proxy-grenen. «Vanlig vertsnavn» betyr en stavemåte uten punktum, ikke en konklusjon om at verten er på et klarert lokalt nettverk.

Hvis ønsket policy er ett internt domene, må du matche det domenet i stedet for hvert kortnavn. dnsDomainIs og shExpMatch har ulike inndata og mønstersemantikk. En suffikssjekk for .example.internal inkluderer ikke den nøyaktige roten example.internal; inkluder det tilfellet eksplisitt når det er ment. Et skallignende mønster er ikke et IP-subnett eller et regulært uttrykk.

Sammenlign skriptets resultat for kortnavnet, det fullt kvalifiserte navnet, en urelatert offentlig vert og enhver tiltenkt domenerot. Dette tester regelvalget uten å koble til proxyen. Inspiser den første regelen som returnerer når en bred DIRECT-gren hindrer et ellers tilgjengelig endepunkt i å bli prøvd.

Bruk navnesammenligning når det uttrykker policyen; DNS-hjelpere legger til sine egne oppslag og forsinkelse. Hold nettleserens implisitte lokale omgåelse atskilt fra skriptet også. En localhost-sjekk kan ikke erstatte den faktiske stavemåten til den offentlige eller interne destinasjonen.

Relaterte artikler