Ett PAC-skript tar emot värdnamnet från URL:en. dashboard blir inte automatiskt dashboard.example.internal före matchningen:

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

Använd en riktig HTTP-slutpunkt i stället för dokumentationsadressen; HTTP-proxylistan ger kandidater för tester mot offentliga mål där den vägen är tillåten. I det här skriptet returnerar det korta namnet avsiktligt DIRECT; det fullt kvalificerade namnet når proxy-grenen. ”Vanligt värdnamn” betyder en stavning utan punkt, inte en slutsats att värden finns på ett betrott lokalt nätverk.

Om den önskade policyn är en intern domän, matcha den domänen i stället för varje kortnamn. dnsDomainIs och shExpMatch har olika indata och mönstersemantik. En suffixkontroll för .example.internal omfattar inte den exakta roten example.internal; ta med det fallet uttryckligen när det är avsikten. Ett skalliknande mönster är inte ett IP-subnät eller ett reguljärt uttryck.

Jämför skriptets resultat för kortnamnet, det fullt kvalificerade namnet, en orelaterad offentlig värd och varje avsedd domänrot. Detta testar regelvalet utan att ansluta till proxyn. Granska den första regel som returnerar när en bred DIRECT-gren hindrar en annars nåbar slutpunkt från att provas.

Använd namnjäförelse när den uttrycker policyn; DNS-hjälpare lägger till egna uppslag och fördröjning. Håll webbläsarens implicita lokala kringgående separat från skriptet också. En localhost-kontroll kan inte ersätta den faktiska stavningen av det offentliga eller interna målet.

Relaterade artiklar