Warum Ihre PAC-Datei den falschen Netzwerkadapter auswählt
Ein Laptop kann mehrere lokale Adressen haben. Eine PAC-Regel auf Basis von myIpAddress() kann eine andere Schnittstelle erkennen als erwartet.
Der Laptop ist im Büro-WLAN, das Ethernet-Kabel ist angeschlossen, und ein VPN-Adapter ist weiterhin vorhanden. Ihre PAC-Datei fragt myIpAddress(), in welchem Netzwerk er sich befindet. Das klingt vernünftig, bis eine Adresse zurückkommt, die zum falschen Adapter gehört.
Das fehlende Detail ist, dass die Funktion eine einzige Adresse zurückgibt. Sie ist keine Bestandsaufnahme aller Schnittstellen und kontaktiert keine Website, um Ihre öffentliche IP zu ermitteln. Eine private Adresse oder auch ein Loopback-Fallback sagt Ihnen nicht, welche Ausgangsadresse eine Proxy-Anfrage verwenden wird.
Eine Antwort für einen Rechner mit mehreren Adressen
Die Auswahl der Netzwerkschnittstelle gehört zur PAC-Implementierung. Der alte Rat, Windows-Adapter umzusortieren, mag eine bestimmte Browser- und Betriebssystemversion beschreiben, ist aber keine gute universelle Lösung. Chromium dokumentiert seinen eigenen Auswahlalgorithmus und Einschränkungen bei mehreren Netzwerken; ein anderer Client muss nicht dieselbe Wahl treffen.
Ermitteln Sie zunächst den Wert, den der betroffene Browser tatsächlich geliefert hat, und vergleichen Sie ihn dann mit den Subnetzprüfungen in Ihrem Skript. Tun Sie dies getrennt im WLAN, per Ethernet und über die freigegebene VPN-Verbindung. Eine Adresse, die überraschend wirkt, kann die Regeln der Implementierung dennoch erfüllen.
Machen Sie die Entscheidung weniger von Vermutungen abhängig
Wählen Sie nach Möglichkeit einen Proxy anhand des Ziel-Hostnamens statt anhand einer angenommenen Client-Schnittstelle. Wenn eine Netzwerkerkennung nötig ist, verwenden Sie ein bewusstes, dokumentiertes Signal, das Ihre Organisation kontrolliert. Auch die DNS-basierte Erkennung hat Fehlermodi, definieren Sie also, was passiert, wenn dieses Signal nicht verfügbar ist.
Einige Implementierungen bieten myIpAddressEx(). Prüfen Sie Unterstützung und Rückgabeformat, bevor Sie es übernehmen; es ist kein direkter Ersatz für eine einzelne IPv4-Zeichenkette. Prüfen Sie abschließend die resultierende Anforderungsroute unabhängig. Das Büro-Subnetz korrekt zu erkennen und den vorgesehenen Proxy zu erreichen, sind zwei getrennte Ergebnisse.