Ein PAC-Skript erhält den Hostnamen aus der URL. dashboard wird vor dem Abgleich nicht automatisch zu dashboard.example.internal:

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

Verwenden Sie einen echten HTTP-Endpunkt anstelle der Dokumentationsadresse; die HTTP-Proxy-Liste bietet Kandidaten für Tests mit öffentlichen Zielen, sofern dieser Weg erlaubt ist. In diesem Skript gibt der Kurzname absichtlich DIRECT zurück; der vollqualifizierte Name erreicht den Proxy-Zweig. „Plain hostname“ bedeutet eine Schreibweise ohne Punkt, nicht die Feststellung, dass der Host in einem vertrauenswürdigen lokalen Netz liegt.

Wenn die gewünschte Richtlinie eine interne Domain ist, gleichen Sie diese Domain ab statt jeden Kurznamen. dnsDomainIs und shExpMatch haben unterschiedliche Eingaben und Mustersemantik. Eine Suffixprüfung für .example.internal enthält nicht die exakte Wurzel example.internal; schließen Sie diesen Fall ausdrücklich ein, wenn er gewünscht ist. Ein Shell-Muster ist kein IP-Subnetz und kein regulärer Ausdruck.

Vergleichen Sie das Ergebnis des Skripts für den Kurznamen, den vollqualifizierten Namen, einen unbeteiligten öffentlichen Host und jede beabsichtigte Domain-Wurzel. Damit testen Sie die Regelauswahl, ohne den Proxy zu verbinden. Prüfen Sie die erste zurückgebende Regel, wenn ein breiter DIRECT-Zweig verhindert, dass ein sonst erreichbarer Endpunkt versucht wird.

Verwenden Sie einen Namensvergleich, wenn er die Richtlinie ausdrückt; DNS-Hilfsfunktionen fügen eigene Abfragen und Verzögerung hinzu. Halten Sie die implizite lokale Umgehung des Browsers ebenfalls vom Skript getrennt. Eine localhost-Prüfung kann die echte öffentliche oder interne Zielschreibweise nicht ersetzen.

Ähnliche Artikel