Internet Explorer erkennt http: //wpad/wpad.dat nicht automatisch

9

Dieses Problem frustriert mich.

Ich habe eine Datei mit dem Namen wpad.dat eingerichtet (im Wesentlichen eine umbenannte proxy.pac-Datei) und sie auf einer internen Website abgelegt. Ich habe DNS-Einträge eingerichtet, sodass der Hostname wpad ein CNAME für den Webserver ist. Ich habe den entsprechenden MIME-Typ für .dat-Dateien auf der Website festgelegt. Ich habe wpad aus der globalen DNS-Abfrageblockliste entfernt.

Ich weiß, dass die Konfigurationsdatei syntaktisch korrekt ist, da, wenn ich das Internet Explorer-Skript "Automatisches Konfigurationsskript verwenden" manuell auf http://wpad/wpad.datden Proxy einstelle, eindeutig verwendet wird (dh ich sehe, dass mein Surfen in Protokolldateien und bestimmten Websites angezeigt wird, die ich abgelehnt habe meine Ersatzseite.)

Ich verstehe jedoch, dass ich nur das Kontrollkästchen für "Einstellungen automatisch erkennen" aktivieren muss und Internet Explorer selbst nach http://wpad/wpad.dat- oder genauer gesagt http://wpad.localdomain/wpad.dat- suchen sollte , was auch funktioniert.

Kann mir jemand helfen, dieses Problem zu diagnostizieren? Ich kann einfach nicht sehen, was ich verpasst habe oder was falsch ist.

Danke dir !!

(Beachten Sie, dass es auch möglich ist, die automatische Konfigurationsdatei über DHCP festzulegen. Wir haben jedoch eine Organisation mit mehreren Standorten mit DHCP, die von einer Mischung aus Servern und Routern je nach Standort sowie von Remote-Büros mit sehr einfachen 3G-Mobilfunkmodems bereitgestellt wird DHCP-Funktionen. Außerdem unterstützt angeblich nur der Internet Explorer die automatische Erkennung von Webproxys über DHCP - weder Firefox noch Safari. Wir verwenden keinen dieser Browser, sondern aus Gründen der maximalen Kompatibilität und der Erleichterung zukünftiger Verwaltung / Änderungen Ich denke, es ist sicherlich besser, dies über einen schönen einzelnen DNS-Eintrag zum Laufen zu bringen.)

David M Williams
quelle
Bist du damit irgendwohin gekommen? Ich habe genau das gleiche Problem. Ich bin stark versucht, dem IE die Schuld zu geben, da Firefox automatisch erkennt, aber der IE erkennt den Standard-Root-Out nicht und wählt ihn nicht aus!
Kip
Ich habe nicht. Am Ende musste ich einen Wert für "Automatisches Konfigurationsskript verwenden" angeben. Es ist ärgerlich, weil die ganze Literatur sagt, dass das, was ich getan habe, richtig ist. Wenn ich jedoch die hier gegebenen Vorschläge verwende (z. B. WireShark verwenden, um zu sehen, was passiert, IIS-Protokolle überprüfen usw.), bin ich sicher, dass der IE einfach nicht versucht, wpad / wpad.dat zu öffnen , obwohl alle Dokumentationen dies vorschreiben !
David M Williams
Für mich lag es an mehreren Schnittstellen und dem IE, der beim Aufrufen des WPAD myIpAddress () nur den VirtualBox-Hostadapter auswählte. Siehe auch serverfault.com/a/425966/11594
Chris J

Antworten:

16

David,

Falls Sie immer noch auf dieses Problem stoßen, ist es eigentlich ziemlich einfach zu beheben. Aber es ist nirgendwo dokumentiert, und ich habe ewig gebraucht, um es in meiner Umgebung zu klären. Alles, was Sie getan haben, ist gut, und ich würde es als Fehler bezeichnen, wie der IE seine WPAD-Informationen erhält und eine Verbindung zum Webserver herstellt.

Erstens können Sie keinen CNAME-Datensatz für WPAD verwenden. Verwenden Sie einen A-Datensatz. Dumm, ich weiß, und es sollte keinen Unterschied machen, aber es ist definitiv der Fall. Entfernen Sie also Ihren CNAME in Ihrem DNS und erstellen Sie einen A-Eintrag für die IP-Adresse des Webservers.

Zweitens (und dies kann für Sie schwieriger sein) muss sich die Datei WPAD.DAT im Stammverzeichnis der Standardwebsite befinden, die die oben zugewiesene IP-Adresse abhört. Das ist der Schlüssel. Es wird NICHT mit einem Host-Header-Feld oder ähnlichem funktionieren.

Erläuterung: Der IE löst den Namen WPAD in eine IP-Adresse auf. Es muss in der Lage sein, es direkt in eine IP-Adresse aufzulösen. Wenn es wie eine CNAME-Abfrage unter einem anderen Namen aufgelöst wird, funktioniert es nicht. Sobald der IE die IP-Adresse hat, in die WPAD aufgelöst wird, stellt er tatsächlich eine Verbindung zu http: // <> /WPAD.dat her. Wenn Sie eine andere Website auf demselben Webserver eingerichtet haben, Port 80 abhören, aber ein Host-Header-Feld wie ich verwenden (IE, "Standard-Website" sowie "WPAD-Website"), werden Sie habe alles richtig eingerichtet, aber es wird aus diesem Grund nicht funktionieren. Legen Sie eine Kopie Ihrer WPAD.DAT-Datei im Stammverzeichnis Ihrer Standardwebsite ab, und die Dinge sollten funktionieren.

Wenn Sie keinen Zugriff auf das Stammverzeichnis dieser Website erhalten (oder das Stammverzeichnis dieser Website nicht sichern können), müssen Sie möglicherweise Ihre WPAD-Website auf einen anderen Server verschieben, auf dem sie sich befinden kann das Stammverzeichnis der diesem Server zugewiesenen IP-Adresse.

Probieren Sie es trotzdem aus. Das ist der Prozess, der bei mir funktioniert hat. Ich habe ewig gebraucht, um es zum Laufen zu bringen, aber es funktioniert jetzt schon lange zuverlässig. All das oben Genannte ist lediglich mein Verständnis der Funktionsweise des IE in Bezug auf WPAD.DAT-Dateien und möglicherweise nicht korrekt - es basiert einfach auf der Beobachtung dessen, was es in meiner eigenen Umgebung tut. Ihre mag anders sein, aber ich würde zumindest etwas Geld in die Behebung Ihres Problems stecken.

Lass mich wissen, wie es dir geht! Matto :)


quelle
Ich sehe das gleiche Problem, Matto. Wir hosten die Datei wpad.dat auf einem Server, auf dem andere Websites gehostet werden. Daher haben wir die IIS-Bindung mit den Host-Headern wpad und wpad.our.domain verwendet, um die Proxy-Konfigurationsdatei bereitzustellen. Wenn unser DNS ein CNAME-Wpad für die wahre fqdn.our.domain war, funktionierte Firefox, aber Internet Explorer / WinHttp-Client schlug aufgrund einer HTTP-Anforderung gegen FQDN fehl. Es ist zu intelligent und der CNAME wird umgeleitet, um den Namen direkt anzufordern Ein Rekord. Wechseln Sie zu Direkt Ein Datensatz für "wpad" fest WinHTTP / IE!
Mister_Tom
3

Eine andere Methode zur Lösung dieses Problems für IE8 (möglicherweise auch für IE7) besteht darin, einige Einstellungen in den Gruppenrichtlinien zu ändern.

  • Computerkonfiguration> Administrative Vorlagen> Windows-Komponenten> Internet Explorer> Proxy-Einstellungen pro Computer (und nicht pro Benutzer) vornehmen = Aktiviert
  • Benutzerkonfiguration> Administrative Vorlagen> Windows-Komponenten> Internet Explorer> Zwischenspeichern von Auto-Proxy-Skripten deaktivieren = Aktiviert

Mit den oben genannten 2 Einstellungen konnte ich die WPAD-Einstellungen in IE8 zum Laufen bringen.

HINWEIS: Sie müssen sich nicht in einer Domänenumgebung befinden, um dies zu verwenden. Verwenden Sie auf einem Arbeitsgruppen-PC einfach GPEDIT.MSC, um die lokale Computerrichtlinie zu ändern.

Siehe: So deaktivieren Sie das automatische Proxy-Caching in Internet Explorer

Grüße, Kym

Zoredache
quelle
3

Diese Serverfehlerfrage wird in Google-Suchanfragen häufig angezeigt, weshalb ich darauf antworte. Ich hoffe, andere finden das nützlich, da dieses Problem für mich ein echtes Problem war.

Fast jeder Windows 7-Computer in unserer Domäne mit etwa 50 Benutzern war betroffen. Das Zurücksetzen und Zurücksetzen des IE war für mich nicht akzeptabel, sodass ich es schließlich wie folgt löste:

Erstens hier ein paar nützliche, aber sehr schwer zu findende Links, auf die ich gestoßen bin:

http://blog.frankleonhardt.com/2011/wpad-and-windows-7-and-internet-explorer-8/

http://kb.k12usa.com/Knowledgebase/Proxy-Auto-Detect-WPAD-Issues-With-IE-Windows-7

http://infratalk.wordpress.com/2011/09/10/troubleshooter-windows-proxy-autodiscovery-wpad/

Ich würde vorschlagen, dass Sie zuerst jeden der Links lesen.

Das folgende Zitat aus dem ersten Link ist besonders interessant:

"Es stellt sich heraus, dass diese intelligenten Mitarbeiter von Microsoft eine Funktion implementiert haben, mit der nach einigen fehlgeschlagenen Versuchen die Suche nach einem WPAD-Server beendet wird. Sie gehen davon aus, dass sie wissen, in welchem ​​Netzwerk sich ein Roaming-Computer befindet, und hinterlassen einen Hinweis für sich selbst in der Registrierung, wenn dies nicht der Fall ist." Ich werde mich wieder darum kümmern. Eine Menge Nutzen, wenn Sie es gerade erst implementiert haben. "

Ich habe den in den Links angegebenen wpad-Registrierungsschlüssel gefunden. So habe ich die Links in Google gefunden. Ich wurde beim Testen rücksichtslos und stellte fest, dass Folgendes funktioniert:

Schließen Sie alle IE-Sitzungen, öffnen Sie die Systemsteuerung -> Internetoptionen -> Registerkarte Verbindungen -> LAN-Einstellungen und deaktivieren Sie "Einstellungen automatisch erkennen" (und alle anderen Optionen) - Öffnen Sie den IE NICHT WIEDER.

Löschen Sie den folgenden Registrierungsschlüssel:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad

Öffnen Sie die Systemsteuerung -> Internetoptionen -> Registerkarte Verbindungen -> LAN-Einstellungen und kreuzen Sie "Einstellungen automatisch erkennen" an.

Wenn Sie Ihr regedit-Fenster (F5) aktualisieren, sollte der wpad-Registrierungsschlüssel neu erstellt werden, er ist jedoch leer.

Öffnen Sie nun den IE. Aktualisieren Sie das wpad reg erneut und Sie sollten sehen, dass es mit einem Unterschlüssel gefüllt ist, der verschiedene wpad-Informationen enthält.

Dies war ein Fix, ohne dass der IE zurückgesetzt werden musste, aber ich musste ihn trotzdem irgendwie auf 50 Computern bereitstellen. Ich habe das wie folgt gemacht:

Ich habe die folgende Registrierung mit einem Computer erstellt, den ich wie oben zurückgesetzt hatte (kopieren Sie diese nicht wörtlich, da sie basierend auf unserer Domain erstellt und der Domainname bearbeitet wurde). Die Zeile wpadOverride wurde manuell hinzugefügt:

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad]
"WpadLastNetwork"="{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}"
"WpadOverride"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\a4-0c-c3-62-7b-2d]
"WpadDecisionReason"=dword:00000000
"WpadDecisionTime"=hex:10,50,19,cf,b1,73,cc,01
"WpadDecision"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}]
"WpadDecisionReason"=dword:00000000
"WpadDecisionTime"=hex:10,50,19,cf,b1,73,cc,01
"WpadDecision"=dword:00000001
"WpadNetworkName"="example.local"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\{F03DC3BF-50F6-4DB1-9570-CF84875F6EDC}\a4-0c-c3-62-7b-2d]

Dies wurde zu Benutzeranmeldeskripten hinzugefügt und löscht im Grunde den Registrierungsschlüssel und ersetzt ihn.

Ich habe dann ein Gruppenrichtlinienobjekt erstellt, um "Einstellungen automatisch erkennen" zu deaktivieren, und die wpad-URL manuell hinzugefügt:

Benutzerkonfiguration -> Richtlinien -> Windows-Einstellungen -> Internet Explorer-Wartung -> Verbindung -> Automatische Browserkonfiguration | Deaktivieren Sie " Konfigurationseinstellungen automatisch erkennen" und aktivieren Sie "Automatische Konfiguration aktivieren " und fügen Sie " http: //wpad.example.local/wpad.dat " in "URL für automatische Konfiguration" ein.

Ich habe auch die "IE WPAD Decision Caching Override" aktiviert (siehe den zweiten Link oben).

Ich habe dies dann einige Tage lang belassen, um es auf so vielen Computern wie möglich bereitzustellen. Dann habe ich die "URL für die automatische Konfiguration" deaktiviert und erneut "Konfigurationseinstellungen automatisch erkennen" angekreuzt und den Registrierungsschlüssel aus dem Anmeldeskript entfernt.

Ich habe dies getan, da es anscheinend nicht funktioniert hat, indem ich einfach das Kontrollkästchen "Konfigurationseinstellungen automatisch erkennen" über das Gruppenrichtlinienobjekt deaktiviert und dann aktiviert habe, sodass das Hinzufügen der URL möglicherweise nicht erforderlich ist.

Ich hatte gehofft, dass der WpadOverride ohne die zusätzlichen Schritte funktionieren würde, aber leider nicht in meinem Fall.

Übrigens funktioniert die Verwendung eines cnamens in unserem Netzwerk einwandfrei.

Alle Computer, die für die Dauer des Fixes ausgeschaltet waren, wurden danach nur noch manuell behandelt.

Ich hoffe, dies hilft anderen, die auf diese Frage stoßen, wie ich es über Google getan habe. Diese "Funktion" von Microsoft ist einfach geradezu dumm.

Gelee
quelle
2

Ich hatte genau das gleiche Problem, aber nur für ein paar Computer ...

Wireshark hat gezeigt, dass der IE nichts im Netzwerk versucht, bevor er den Zielwebserver erreicht. Der Webserver, der auf Host-Wpad eingestellt ist, antwortet auf einen beliebigen Hostnamen unter dieser bestimmten IP-Adresse.

Ich habe die nicht funktionierenden IE8-Clients dazu gebracht, wpad.dat erneut herunterzuladen.

  1. Extras-> Internetoptionen-> Erweitert-> Zurücksetzen
  2. IE geschlossen und erneut geöffnet

Leider ist nach Änderungen an der Datei wpad.dat offensichtlich, dass IE8 nach dem ersten Download von wpad.dat keine weiteren Downloads durchführt :-(


quelle
1

Versuchen Sie, Wireshark auf einem Client-Computer auszuführen. Sehen Sie, wo der IE sucht? Protokolliert Ihr Webserver, dass er irgendwelche Wpads bedient hat?

Tom Newton
quelle
Vielen Dank für den Wireshark-Vorschlag. Es gab interessante, aber überraschende Ergebnisse. Obwohl "Einstellungen automatisch erkennen" aktiviert war, bezog sich der IE nicht einmal auf wpad. Es gab keine DNS-Suche, um den Namen wpad mit einem Suffix aufzulösen. Wenn ich einen manuellen Eintrag für 'use automtic configuration script' eingebe, kann ich sehen, dass nslookups auf dem wpad ausgeführt werden. Es scheint also, dass der IE überhaupt nicht versucht, die automatisch konfigurierte Datei zu finden!
David M Williams
1
Stellen Sie sicher, dass Option 252 auf Ihrem DHCP nicht auf "" oder ähnlich eingestellt ist - dies kann zu Verwirrung führen. Außerdem funktioniert wpad möglicherweise nicht, wenn Sie die lokale Domäne nicht eingerichtet haben.
Tom Newton
1

Internet Explorer versucht, auf " http: //wpad.your-machine 's-dns-suffix.com/wpad.dat" zuzugreifen. Stellen Sie sicher, dass der Webserver, der für die Bereitstellung der Datei wpad.dat konfiguriert ist, auf den vollständig qualifizierten Hostnamen antwortet. (Übrigens wird IE das DNS-Suffix auch für jede übergeordnete Domain zerlegen. Schauen Sie sich http://wpad.com an . Der Typ, dem diese Domain gehört, hätte wirklich, wirklich böse sein können, wenn er gewollt hätte. .)

Evan Anderson
quelle
1

IE Version 6.0.2900.xxxx sucht nach dem Dateinamen "wpad.da" anstelle von "wpad.dat". ACHTUNG! ;) Verwenden Sie einfach einen Sniffer oder überprüfen Sie Ihre Webserver-Protokolle.

Hoffe das hilft!

Pangu
quelle
0

Da Tom Newton vorschlägt, wireshark auszuführen, um zu sehen, was der IE tut (DNS-Abfrage, HTTP GET, ...), sehen Sie sich auch Ihre Webserver-Protokolle an.
Stellen Sie sicher, dass der IE die IP anstelle des Hostnamens (wpad) als 'Host' in der GET-Abfrage sendet, damit Sie keinen virtuellen Host 'wpad' auf dem Webserver verwenden können.

Radius
quelle
Dieser zweite Punkt ist interessant; Wenn das, was Sie sagen, wahr ist, dann ist das höchstwahrscheinlich das Problem. Ich wollte wpad.dat nicht im Stammverzeichnis der Hauptwebsite haben, also habe ich sozusagen ein neues Verzeichnis und einen neuen virtuellen Host für die wpad-Website erstellt. Wenn der IE jedoch automatisch nach 10.1.1.1/wpad.dat anstelle von wpad.domain.local / wpad.dat sucht, ist dies das Problem. Ich werde es zuerst versuchen ...
David M Williams
Nein, das hat nicht funktioniert. Ich denke, dass der Internet Explorer nichts unternimmt, obwohl das Kontrollkästchen "Einstellungen automatisch erkennen" aktiviert ist.
David M Williams
Da Sie laut Kommentar zur Antwort von Tom in wireshark nichts gesehen haben, liegt möglicherweise ein Fehler in der IE-Version (welche Version?) Oder ein Fehler in der Windows-Konfiguration (Sicherheitsrichtlinie?, Gruppenrichtlinienobjekt?) Vor, der dies deaktiviert. (aber ich habe keine Ahnung, welche Einstellungen es sein könnte, es ist nur eine Idee)
Radius
0

Diese Methode funktioniert bei mir

   1. Tools->Internet Options->Advanced->Reset
   2. Closed IE and re-opened it

Ich denke, IE8 macht mich sehr verwirrend, sie von MS, aber warum funktioniert es nicht richtig. Während Firefox sehr gut funktioniert.

user50941
quelle
0

Wenn Sie DHCP verwenden, gibt es eine Einstellung (Option 252, IIRC) zum Deklarieren des Speicherorts Ihrer wpad-Datei. Ich glaube, Sie sind falsch, wenn Firefox dies nicht verwenden kann.

Haben Sie zusätzlich localdomain in der Suchliste?

Greeblesnort
quelle