Ich habe einen PuTTY-basierten SOCKS5-Proxy wie folgt eingerichtet:
Ich habe IE11 so konfiguriert, dass dieser Proxy wie folgt verwendet wird:
Ich habe Firefox 52.7.3 (32-Bit) auch so konfiguriert, dass dieser Proxy auf die gleiche Weise verwendet wird:
Der Inhalt von proxyConfig.pac lautet wie folgt:
function FindProxyForURL(url, host) { if ((url.indexOf(".mydomain.local") >= 1) ) { return "SOCKS5 127.0.0.1:1080"; } return "DIRECT"; }
Ich kann Websites entweder mit IE oder Firefox erreichen.
Intranetseiten, die sich nicht unter mydomain.local befinden, kann ich entweder mit IE oder Firefox erreichen.
Ich kann mit Firefox Intranetseiten erreichen, die sich unter mydomain.local befinden.
Aber hier ist das Problem: Ich kann keine Intranetseiten erreichen, die mit IE unter mydomain.local liegen. Am Beispiel von host.mydomain.local erhalte ich diesen Fehler:
host.mydomain.local löst keine Auflösung in eine IP-Adresse auf der nahen Seite des Proxys auf, weder über die lokale Hosts-Datei noch über DNS. Es wird jedoch zu einer IP-Adresse über DNS auf der anderen Seite des Proxys aufgelöst.
Eine Paketerfassung zeigt, dass der IE11 versucht, host.mydomain.local direkt (dh auf der nahen Seite des Proxys) aufzulösen, anstatt den Proxy-Server dies tun zu lassen. Firefox funktioniert, weil es nicht versucht, den Hostnamen auf der lokalen Seite aufzulösen. Der Proxy-Server kann dies tun.
Wenn ich meine lokalen hosts-Datei so bearbeite, dass host.mydomain.local auf der nahen Seite des Proxys das löst, was auf der anderen Seite des Proxys aufgelöst werden würde, erhalte ich immer noch einen Fehler. Obwohl der Fehler viel länger dauert. Ich glaube, das liegt daran, dass der Verbindungsfehler jetzt auftritt, weil nach einiger Zeit keine Antwort empfangen wird (für die es mehrere Ursachen geben kann) und nicht wegen eines Namensauflösungsfehlers (der sehr schnell auftritt).
Gibt es eine Möglichkeit, IE11 zu zwingen, den Hostnamen nicht aufzulösen und dem Proxy-Server stattdessen zu erlauben?
Wenn nicht, gibt es einen anderen Weg, um dieses Problem zu lösen?
UPDATE 1
Ich hatte vergessen, dass ich dieses Problem schon einmal getroffen hatte, und hatte festgestellt, dass der IE11 keine serverseitige Namensauflösung von SOCKS5 implementiert. Mit dieser Einstellung...
Warum kann der Internet Explorer keine Verbindung herstellen, wenn ich die IP-Adresse von host.mydomain.local in meine Datei "local hosts" eingebe ?
Die betreffende IP-Adresse wird auf der lokalen Seite nicht weitergeleitet. Sollte der IE dennoch nicht die HTTP-Anforderung an diese IP-Adresse an den Proxy weiterleiten (wo die fragliche IP-Adresse irgendwo weiterleitet)?
UPDATE 2
Eine Paketerfassung zeigt, dass der IE niemals die HTTP-Anforderung stellt. Das anfängliche TCP-SYN wird direkt an die Ziel-IP-Adresse gesendet (die, wie gesagt, auf der lokalen Seite nirgendwo routet). Es wird nicht versucht, diese TCP-Verbindungsanfrage über den Proxy zu senden.
UPDATE 3
Ich habe versucht, den Browser so zu konfigurieren, dass der Proxy auf andere Weise verwendet wird:
Jetzt geht alles über den Proxy, nicht nur Anfragen an mydomain.local .
Nachdem dies geschehen ist, kann ich jetzt Hosts auf mydomain.local erreichen, aber Firewall-Beschränkungen verhindern, dass ich Intranetseiten (über den Proxy) erreicht, die nicht unter mydomain.local oder Internet-Sites liegen.
Diese Firewall-Einschränkungen sind natürlich nicht die Schuld des IE.
Es zeigt jedoch die Probleme, die auftreten können, wenn Sie versuchen, den IE mit einem SOCKS5-Proxy zu verwenden.
Es scheint, dass es keine gute Lösung dafür gibt, wenn man wirklich IE verwenden möchte.