Internet Explorer ne détecte pas automatiquement la configuration automatique de http: //wpad/wpad.dat

9

Je suis frustré par ce problème.

J'ai créé un fichier appelé wpad.dat (essentiellement, un fichier proxy.pac renommé) et l'ai placé sur un site Web interne. J'ai configuré des entrées DNS afin que le nom d'hôte wpad soit un CNAME pour le serveur Web. J'ai défini le type MIME approprié pour les fichiers .dat sur le site Web. J'ai supprimé wpad de la liste de blocage de requête globale DNS.

Je sais que le fichier de configuration est syntaxiquement correct, car si je configure manuellement "Utiliser le script de configuration automatique" d'Internet Explorer, http://wpad/wpad.datle proxy est clairement utilisé (c'est-à-dire que je vois ma navigation apparaître dans les fichiers journaux et certains sites que j'ai refusés proposent ma page de remplacement.)

Cependant, je crois comprendre que tout ce que je dois faire est de cocher la case "Détecter automatiquement les paramètres" et Internet Explorer devrait lui-même rechercher http://wpad/wpad.dat- ou, plus correctement, http://wpad.localdomain/wpad.dat- ce qui fonctionne également.

Quelqu'un peut-il m'aider à diagnostiquer ce problème? Je ne peux tout simplement pas voir ce que j'ai manqué ou ce qui ne va pas.

Merci !!

(Remarque, il est également possible de définir le fichier de configuration automatique à l'aide de DHCP, mais nous avons une organisation multisite avec DHCP fournie par un mélange de serveurs et de routeurs en fonction de l'emplacement ainsi que des bureaux distants utilisant des modems cellulaires 3G qui ont très basique Fonctionnalités DHCP. De plus, ce n'est qu'Internet Explorer qui prend prétendument en charge la détection automatique de proxy Web via DHCP - ni Firefox ni Safari ne le font. Nous n'utilisons en fait aucun de ces navigateurs, mais dans un souci de compatibilité maximale et de facilité d'administration / de modifications futures Je pense qu'il est certainement préférable de faire fonctionner cela via une belle entrée DNS unique.)

David M Williams
la source
Avez-vous obtenu quelque chose avec ça. J'ai exactement le même problème. Je suis sérieusement tenté de blâmer IE car firefox se détecte magnifiquement, cependant, IE ne parvient pas à détecter et à choisir la racine par défaut!
Kip
Non. J'ai fini par devoir spécifier une valeur pour «utiliser le script de configuration automatique». C'est exaspérant parce que toute la littérature dit que ce que j'ai fait est correct. Cependant, en utilisant les suggestions données ici (par exemple, utilisez WireShark pour voir ce qui se passe, vérifiez les journaux IIS, etc.), je suis certain qu'IE ne cherche tout simplement pas à ouvrir wpad / wpad.dat, même si toute la documentation le dit!
David M Williams
Pour moi, cela était dû à plusieurs interfaces et à IE qui choisissait l'adaptateur VirtualBox uniquement lors de l'appel de WPAD myIpAddress (). Voir aussi serverfault.com/a/425966/11594
Chris J

Réponses:

16

David,

Si vous rencontrez toujours ce problème, il est en fait assez simple à résoudre. Mais ce n'est documenté nulle part, et cela m'a pris beaucoup de temps pour le trier dans mon environnement. Tout ce que vous avez fait est bon, et c'est ce que j'appellerais un bug dans la façon dont IE obtient ses informations WPAD et se connecte au serveur Web.

Tout d'abord, vous ne pouvez pas utiliser un enregistrement CNAME pour WPAD. Utilisez un enregistrement A. C'est idiot, je sais, et ça ne devrait pas faire de différence, mais c'est définitivement le cas. Supprimez donc votre CNAME dans votre DNS et créez un enregistrement A pour l'adresse IP du serveur Web.

Deuxièmement (et cela peut être plus délicat pour vous), vous devez avoir le fichier WPAD.DAT situé à la racine du site Web par défaut qui écoute l'adresse IP que vous avez attribuée ci-dessus. Telle est la clé. Cela ne fonctionnera PAS avec un champ d'en-tête d'hôte ou quelque chose comme ça.

Explication: ce que fait IE est de résoudre le nom WPAD en une adresse IP. Il doit être capable de le résoudre directement en une adresse IP. S'il se résout comme une requête CNAME vers un nom différent, cela ne fonctionnera pas. Donc, une fois que IE a obtenu l'adresse IP à laquelle WPAD se résout, ce qu'il fait est de se connecter à http: // <> /WPAD.dat. Si vous avez un site Web différent configuré sur le même serveur Web, en écoutant sur le port 80 mais en utilisant un champ d'en-tête d'hôte comme je l'avais fait (IE, "site Web par défaut", ainsi que "Site Web WPAD"), alors vous avoir tout configuré correctement, mais cela ne fonctionnera pas pour cette raison. Placez une copie de votre fichier WPAD.DAT à la racine de votre site Web par défaut et les choses devraient commencer à fonctionner.

Bien sûr, si vous ne pouvez pas accéder à la racine de ce site Web (ou si vous ne pouvez pas sécuriser la racine de ce site Web), vous devrez peut-être envisager de déplacer votre site WPAD vers un autre serveur où il peut être la racine de l'adresse IP attribuée à ce serveur.

Essayez-le quand même. C'est le processus qui a fonctionné pour moi. Cela m'a pris beaucoup de temps pour le faire fonctionner, mais cela fonctionne de manière fiable depuis longtemps. Tout ce qui précède est simplement ma compréhension du fonctionnement d'IE par rapport aux fichiers WPAD.DAT, et peut ne pas être correct - il est simplement basé sur l'observation de ce qu'il fait dans mon propre environnement. Le vôtre peut être différent, mais je mettrais au moins de l'argent pour résoudre votre problème.

Faites-moi savoir comment vous vous en sortez! Matto :)


la source
Je vois ce même problème Matto. Nous hébergeons le wpad.dat sur un serveur qui héberge d'autres sites Web, nous avons donc utilisé la liaison IIS avec les en-têtes d'hôte wpad et wpad.our.domain pour servir le fichier de configuration du proxy. Lorsque notre DNS était un wpad CNAME vers le vrai fqdn.our.domain, Firefox fonctionnerait, mais Internet Explorer / WinHttp Client échouerait en raison d'une requête HTTP contre FQDN - c'est trop intelligent et voir le CNAME puis rediriger pour demander directement le nom de Un enregistrement. Passez à l'enregistrement direct A pour "wpad" fixe WinHTTP / IE!
Mister_Tom
3

Une autre méthode pour résoudre ce problème pour IE8 (peut également fonctionner pour IE7) consiste à modifier quelques paramètres dans la stratégie de groupe.

  • Configuration ordinateur> Modèles d'administration> Composants Windows> Internet Explorer> Définir les paramètres de proxy par machine (plutôt que par utilisateur) = Activé
  • Configuration utilisateur> Modèles d'administration> Composants Windows> Internet Explorer> Désactiver la mise en cache des scripts Auto-Proxy = activé

Avec les 2 paramètres ci-dessus modifiés, j'ai pu faire fonctionner les paramètres WPAD dans IE8.

REMARQUE: vous n'avez pas besoin d'être dans un environnement de domaine pour l'utiliser. Sur un PC de groupe de travail, utilisez simplement GPEDIT.MSC pour modifier la stratégie de l'ordinateur local.

Voir: Comment désactiver la mise en cache automatique du proxy dans Internet Explorer

Cordialement, Kym

Zoredache
la source
3

Cette question de défaut de serveur apparaît élevée dans les recherches Google, c'est pourquoi j'y réponds. J'espère que d'autres trouveront cela utile car ce problème a été une vraie douleur pour moi.

Presque chaque ordinateur Windows 7 sur notre domaine d'environ 50 utilisateurs a été affecté - contourner et réinitialiser IE n'était pas acceptable en ce qui me concerne, j'ai donc finalement résolu le problème comme suit:

Tout d'abord, voici quelques liens utiles mais très difficiles à trouver:

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/troubleshooting-windows-proxy-autodiscovery-wpad/

Je vous suggère de lire chacun des liens en premier.

La citation suivante du premier lien est particulièrement intéressante:

"Il s'avère que ces gars intelligents chez Microsoft ont implémenté une fonctionnalité pour arrêter de rechercher un serveur WPAD après quelques tentatives infructueuses. Il estime qu'il sait sur quel réseau une machine itinérante est allumée, laisse une note pour lui-même dans le registre si ce n'est pas le cas va prendre la peine de regarder à nouveau. Une grande utilité si vous venez de l'implémenter. "

J'ai trouvé la clé de registre wpad notée dans les liens, c'est en fait ainsi que j'ai trouvé les liens dans google. Je suis devenu impitoyable pendant les tests et j'ai constaté que les travaux suivants fonctionnent:

Fermez toutes les sessions IE, ouvrez le Panneau de configuration -> Options Internet -> onglet Connexions -> Paramètres LAN et décochez "Détecter automatiquement les paramètres" (et toutes les autres options) - N'OUVREZ PAS IE À NOUVEAU.

Supprimez la clé d'enregistrement suivante:

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

Ouvrez le Panneau de configuration -> Options Internet -> onglet Connexions -> Paramètres LAN et Cochez "Détecter automatiquement les paramètres".

Si vous actualisez votre fenêtre regedit (F5), vous devriez voir la clé reg du wpad recréée mais elle sera vide.

Ouvrez maintenant IE. Actualisez à nouveau le wpad reg et vous devriez le voir remplir avec une sous-clé contenant diverses informations sur le wpad.

C'était un correctif sans avoir à réinitialiser IE, mais je devais quand même le déployer sur 50 machines. Je l'ai fait comme suit:

J'ai créé le reg suivant en utilisant un ordinateur que j'avais réinitialisé comme ci-dessus (ne copiez pas ce verbatim car il a été créé sur la base de notre domaine et j'ai modifié le nom de domaine), la ligne wpadOverride a été ajoutée manuellement:

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]

Cela a été ajouté aux scripts de connexion utilisateur et supprime essentiellement la clé de registre et la remplace.

J'ai ensuite créé un GPO pour désactiver "Détecter automatiquement les paramètres" et ajouté manuellement l'url du wpad:

Configuration utilisateur -> Stratégies -> Paramètres Windows -> Maintenance Internet Explorer -> Connexion -> Configuration automatique du navigateur | Décochez "Détecter automatiquement les paramètres de configuration" et cochez "Activer la configuration automatique" et insérez " http: //wpad.example.local/wpad.dat " dans "URL de configuration automatique".

J'ai également activé le "IE WPAD Decision Caching Override" (voir le deuxième lien ci-dessus).

J'ai ensuite laissé cela pendant quelques jours pour déployer sur autant d'ordinateurs que possible, puis j'ai désactivé "l'URL de configuration automatique" et j'ai coché "Détecter automatiquement les paramètres de configuration" à nouveau et j'ai supprimé la clé de Registre du script de connexion.

J'ai fait cela car cela ne semblait pas fonctionner en décochant simplement puis en cochant la case "Détecter automatiquement les paramètres de configuration" via GPO afin que l'ajout de l'URL ne soit pas finalement nécessaire.

J'avais espéré que le WpadOverride fonctionnerait sans les étapes supplémentaires, mais malheureusement, ce n'était pas le cas dans mon cas.

Incidemment, l'utilisation d'un cname fonctionne parfaitement bien sur notre réseau.

Tous les ordinateurs qui étaient éteints pendant la durée du correctif ont juste été traités manuellement après cela.

J'espère que cela aide les autres qui rencontrent cette question comme je l'ai fait via Google. Cette "fonctionnalité" de Microsoft est carrément stupide.

jelloir
la source
2

J'ai eu exactement le même problème, mais seulement pour quelques ordinateurs ...

Wireshark a montré qu'IE ne tentait rien sur le réseau avant de toucher le serveur Web cible. Le serveur Web configuré pour héberger wpad répond à n'importe quel nom d'hôte sur cette adresse IP particulière.

J'ai obtenu les clients IE8 qui ne fonctionnent pas pour télécharger à nouveau wpad.dat en procédant comme suit:

  1. Outils-> Options Internet-> Avancé-> Réinitialiser
  2. IE fermé et rouvert

Malheureusement, après avoir apporté des modifications au fichier wpad.dat, il est évident qu'IE8 après le premier téléchargement de wpad.dat ne fait plus de téléchargements :-(


la source
1

Essayez d'exécuter WireShark sur une machine cliente ... voyez où IE cherche? Votre serveur Web enregistre-t-il qu'il a servi des wpads?

Tom Newton
la source
Merci pour la suggestion de Wireshark. Cela a donné des résultats intéressants, mais surprenants. Bien que "Détecter automatiquement les paramètres" soit coché, IE ne faisait pas référence au wpad une seule fois. Il n'y a eu aucune recherche DNS pour résoudre le nom wpad avec un suffixe. Lorsque je mets une entrée manuelle pour «utiliser le script de configuration automatique», je peux voir que nslookups est exécuté sur wpad. Il semble donc qu'IE n'essaie pas du tout de trouver le fichier de configuration automatique!
David M Williams,
1
Assurez-vous que l'option 252 de votre DHCP n'est pas définie sur "" ou similaire - cela peut provoquer une confusion. De plus, wpad peut ne pas fonctionner si vous n'avez pas configuré le domaine local.
Tom Newton
1

Internet Explorer tentera d'accéder à " http: //wpad.your-machine 's-dns-suffix.com/wpad.dat". Assurez-vous que le serveur Web configuré pour servir le fichier wpad.dat répond pour le nom d'hôte complet. (BTW, IE décomposera également le suffixe DNS en essayant chaque domaine parent. Consultez http://wpad.com . Le gars qui possède ce domaine aurait pu être vraiment, vraiment méchant s'il l'avait voulu .. .)

Evan Anderson
la source
1

IE version 6.0.2900.xxxx recherche le nom de fichier "wpad.da" au lieu de "wpad.dat" ATTENTION! ;) Utilisez simplement un renifleur ou consultez les journaux de votre serveur Web.

J'espère que cela t'aides!

Pangu
la source
0

Comme Tom Newton suggère d'exécuter Wheelshark pour voir ce que fait IE (requête DNS, HTTP GET, ...), regardez également les journaux de votre serveur Web.
Veillez à ce qu'IE envoie l'adresse IP au lieu du nom d'hôte (wpad) en tant qu '«hôte» dans la requête GET afin que vous ne puissiez pas utiliser un «wpad» d'hôte virtuel sur le serveur Web.

rayon
la source
Ce deuxième point est intéressant; si ce que vous dites est vrai, c'est probablement le problème. Je ne voulais pas wpad.dat à la racine du site Web principal, j'ai donc créé un nouveau répertoire et un hôte virtuel pour le site Web wpad pour ainsi dire. Cependant, si IE recherche automatiquement 10.1.1.1/wpad.dat au lieu de wpad.domain.local / wpad.dat, ce sera le problème. Je vais essayer ceci en premier ...
David M Williams
Non, ça n'a pas marché. Je pense qu'IE ne fait rien malgré la case à cocher «Détecter automatiquement les paramètres».
David M Williams
Comme, par commentaire sur la réponse de Tom, vous n'avez rien vu dans Wireshark, il peut s'agir d'un bug dans la version IE (quelle version?) Ou quelque chose dans la configuration de Windows (politique de sécurité?, GPO?) Qui le désactive. (mais je n'ai aucune idée de ce que cela pourrait être, c'est juste une idée)
rayon
0

Cette méthode fonctionne pour moi

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

Je pense qu'IE8 me fait beaucoup confondre, ils de MS mais pourquoi cela fonctionne mal. Alors que Firefox fonctionne très bien.

user50941
la source
0

Si vous utilisez DHCP, il existe un paramètre (option 252, IIRC) pour déclarer l'emplacement de votre fichier wpad. Je pense que vous avez tort de ne pas pouvoir utiliser Firefox.

De plus, avez-vous un domaine local dans la liste de recherche?

Greeblesnort
la source