Internet Explorer non rileva automaticamente http: //wpad/wpad.dat auto-config


9

Sono frustrato da questo problema.

Ho impostato un file chiamato wpad.dat (essenzialmente, un file proxy.pac rinominato) e l'ho messo su un sito web interno. Ho impostato le voci DNS in modo che il nome host wpad sia un CNAME per il server web. Ho impostato il tipo MIME appropriato per i file .dat sul sito Web. Ho rimosso wpad dall'elenco dei blocchi di query globali DNS.

So che il file di configurazione è sintatticamente corretto perché se imposto manualmente "Usa script di configurazione automatica" di Internet Explorer http://wpad/wpad.datsul proxy viene chiaramente utilizzato (ad esempio, vedo che la mia navigazione viene visualizzata nei file di registro e in alcuni siti che ho negato venire con la mia pagina di sostituzione.)

Tuttavia, sono consapevole che tutto ciò che dovrei fare è spuntare la casella "Rileva automaticamente impostazioni" e Internet Explorer dovrebbe andare a cercare http://wpad/wpad.dat- o, più correttamente, http://wpad.localdomain/wpad.dat- che funziona anche.

Qualcuno può aiutarmi a diagnosticare questo problema? Non riesco proprio a vedere cosa mi sono perso o cosa non va.

Grazie !!

(Nota, è anche possibile impostare il file di configurazione automatica tramite DHCP, tuttavia abbiamo un'organizzazione multi-sito con DHCP fornita da una combinazione di server e router a seconda della posizione, nonché uffici remoti che utilizzano modem cellulari 3G che hanno molto di base Funzionalità DHCP. Inoltre, è solo Internet Explorer che presumibilmente supporta il rilevamento automatico dei proxy Web tramite DHCP, né Firefox né Safari. In realtà non utilizziamo nessuno di questi browser ma per la massima compatibilità e la facilità di future amministrazioni / modifiche Penso che sia sicuramente meglio farlo funzionare tramite una bella voce DNS.)


Sei arrivato ovunque con questo. Sto avendo esattamente lo stesso problema. Sono fortemente tentato di incolpare IE perché Firefox si rileva automaticamente in modo bello, tuttavia, IE non riesce a rilevare e scegliere il root predefinito!
Kip

Non l'ho fatto Ho finito per dover specificare un valore per "usa lo script di configurazione automatica". È esasperante perché tutta la letteratura dice che quello che ho fatto è corretto. Tuttavia, utilizzando i suggerimenti forniti qui (ad esempio, utilizzare WireShark per vedere cosa sta succedendo, controllare i registri IIS, ecc.) Sono certo che IE non sta semplicemente cercando di aprire wpad / wpad.dat , anche se tutta la documentazione dice che dovrebbe!
David M Williams,

Per me, è stato dovuto a più interfacce e IE ha scelto l'adattatore hostonly di VirtualBox durante la chiamata a WPAD myIpAddress (). Vedi anche serverfault.com/a/425966/11594
Chris J

Risposte:


16

David,

Nel caso in cui stai ancora affrontando questo problema, in realtà è piuttosto semplice da risolvere. Ma non è documentato OVUNQUE, e mi ci sono voluti anni per risolverlo nel mio ambiente. Tutto quello che hai fatto è buono, ed è quello che definirei un bug nel modo in cui IE ottiene le sue informazioni WPAD e si collega al server web.

Prima di tutto, non puoi usare un record CNAME per WPAD. Usa un record A. Stupido, lo so, e non dovrebbe fare alcuna differenza, ma è sicuramente il caso. Quindi rimuovi il tuo CNAME dal DNS e crea un record A per l'indirizzo IP del server web.

In secondo luogo (e questo potrebbe essere più complicato per te), devi avere il file WPAD.DAT situato nella radice del sito Web predefinito che è in ascolto sull'indirizzo IP che hai assegnato sopra. Questa è la chiave NON funzionerà con un campo di intestazione host o qualcosa del genere.

Spiegazione: Quello che fa IE è risolvere il nome WPAD in un indirizzo IP. Deve essere in grado di risolverlo direttamente in un indirizzo IP. Se si risolve come una query CNAME fa con un nome diverso, non funzionerà. Quindi, una volta che IE ha ottenuto l'indirizzo IP a cui WPAD risolve, ciò che effettivamente fa è connettersi a http: // <> /WPAD.dat. Se hai un sito Web diverso impostato sullo stesso server web, ascoltando sulla porta 80 ma utilizzando un campo di intestazione host come ho fatto io (IE, "sito Web predefinito" e "Sito Web WPAD"), allora avere tutto impostato correttamente, ma non funzionerà proprio per questo motivo. Metti una copia del tuo file WPAD.DAT sulla radice del tuo sito Web predefinito e le cose dovrebbero iniziare a funzionare.

Naturalmente, se non riesci ad accedere alla radice di quel sito Web (o non puoi proteggere la radice di quel sito Web), allora potresti aver bisogno di cercare di spostare il tuo sito WPAD su un altro server dove si trova la radice dell'indirizzo IP assegnato a quel server.

Provaci comunque. Questo è il processo che ha funzionato per me. Mi ci sono voluti anni per farlo funzionare, ma ora funziona in modo affidabile da molto tempo. Tutto quanto sopra è semplicemente la mia comprensione di come funziona IE in relazione ai file WPAD.DAT e potrebbe non essere corretta - si basa semplicemente sull'osservazione di ciò che fa nel mio ambiente. Il tuo potrebbe essere diverso, ma metterei almeno un po 'di soldi per risolvere il problema.

Fammi sapere come vai! Matto :)


Sto vedendo questo stesso problema Matto. Stiamo ospitando wpad.dat su un server che ospita altri siti Web, quindi abbiamo utilizzato l'associazione IIS con le intestazioni host wpad e wpad.our.domain per servire il file di configurazione del proxy. Quando il nostro DNS era un wpad CNAME sul vero fqdn.our.domain, allora Firefox funzionava, ma Internet Explorer / WinHttp Client falliva a causa della richiesta HTTP contro FQDN - è troppo intelligente e vedere il CNAME quindi reindirizzare per richiedere direttamente il nome da Un record. Passa a un record diretto per "wpad" fisso WinHTTP / IE!
Mister_Tom,

3

Un altro metodo per risolverlo per IE8 (può funzionare anche per IE7) è modificare un paio di impostazioni in Criteri di gruppo.

  • Configurazione computer> Modelli amministrativi> Componenti di Windows> Internet Explorer> Crea impostazioni proxy per computer (anziché per utente) = Abilitato
  • Configurazione utente> Modelli amministrativi> Componenti di Windows> Internet Explorer> Disabilita memorizzazione nella cache degli script proxy automatici = Abilitato

Con le 2 impostazioni sopra modificate, sono stato in grado di far funzionare le impostazioni di WPAD in IE8.

NOTA: non è necessario trovarsi in un ambiente di dominio per utilizzare questo. Su un PC del gruppo di lavoro, utilizzare semplicemente GPEDIT.MSC per modificare i criteri del computer locale.

Vedere: Come disabilitare la memorizzazione nella cache proxy automatica in Internet Explorer

Saluti, Kym


3

Questa domanda serverfault appare alta nelle ricerche su Google ed è per questo che sto rispondendo ad essa. Spero che altri lo trovino utile poiché questo problema è stato un vero dolore per me.

Quasi tutti i computer Windows 7 sul nostro dominio di circa 50 utenti erano interessati: andare in giro e ripristinare IE non era accettabile per quanto mi riguardava, quindi alla fine l'ho risolto come segue:

Innanzitutto ecco un paio di link utili ma molto difficili da trovare che ho trovato:

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/

Vorrei suggerire di leggere prima ciascuno dei collegamenti.

La seguente citazione dal pugno link è particolarmente interessante:

"Si scopre che quei ragazzi intelligenti di Microsoft hanno implementato una funzione per interrompere la ricerca di un server WPAD dopo alcuni tentativi falliti. Si rende conto che sa su quale rete è attiva una macchina in roaming, se non lo fa lascia una nota nel registro ci preoccuperemo di guardare di nuovo. Molto utile se lo hai appena implementato. "

Ho trovato la chiave reg di wpad annotata nei collegamenti, che è in realtà il modo in cui ho trovato i collegamenti in Google. Sono diventato spietato durante i test e ho scoperto che i seguenti lavori:

Chiudi tutte le sessioni IE, Apri Pannello di controllo -> Opzioni Internet -> Scheda Connessioni -> Impostazioni Lan e deseleziona "Rileva automaticamente impostazioni" (e tutte le altre opzioni) - NON APRIRE IE DI NUOVO.

Elimina il seguente tasto reg:

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

Apri il Pannello di controllo -> Opzioni Internet -> Scheda Connessioni -> Impostazioni Lan e TICK "Rileva automaticamente impostazioni".

Se aggiorni la tua finestra di regedit (F5) dovresti vedere ricreato il tasto reg wpad ma sarà vuoto.

Ora apri IE. Aggiorna di nuovo il registro di wpad e dovresti vederlo popolato con una sottochiave contenente varie informazioni di wpad.

Questa è stata una correzione senza dover ripristinare IE ma avevo comunque bisogno di distribuirla su 50 macchine in qualche modo. L'ho fatto come segue:

Ho creato il seguente registro usando un computer che avevo ripristinato come sopra (non copiarlo alla lettera poiché è stato creato in base al nostro dominio e ho modificato il nome del dominio), la riga wpadOverride è stata aggiunta manualmente:

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]

Questo è stato aggiunto agli script di accesso dell'utente ed elimina sostanzialmente la chiave reg e la sostituisce.

Ho quindi creato un oggetto Criteri di gruppo per disabilitare "Rileva automaticamente impostazioni" e ho aggiunto manualmente l'URL di wpad:

Configurazione utente -> Criteri -> Impostazioni di Windows -> Manutenzione di Internet Explorer -> Connessione -> Configurazione automatica del browser | Deseleziona "Rileva automaticamente impostazioni di configurazione" e seleziona "Abilita configurazione automatica" e inserisci " http: //wpad.example.local/wpad.dat " in "URL di configurazione automatica".

Ho anche abilitato "IE WPAD Decision Caching Override" (vedi il secondo link sopra).

Ho quindi lasciato questo per alcuni giorni per distribuire il maggior numero possibile di computer, quindi ho disabilitato "URL di configurazione automatica" e ho spuntato di nuovo "Rileva automaticamente impostazioni di configurazione" e rimosso la chiave reg dallo script di accesso.

L'ho fatto in quanto non sembrava funzionare semplicemente deselezionando e quindi selezionando la casella "Rileva automaticamente impostazioni di configurazione" tramite GPO, quindi l'aggiunta dell'URL potrebbe non essere in definitiva necessaria.

Speravo che WpadOverride funzionasse senza i passaggi aggiuntivi, ma sfortunatamente non ha funzionato nel mio caso.

Per inciso, usare un cname funziona perfettamente sulla nostra rete.

Qualsiasi computer spento per la durata della correzione è stato semplicemente gestito manualmente successivamente.

Spero che questo aiuti gli altri che incontrano questa domanda come ho fatto tramite Google. Questa "caratteristica" di Microsoft è semplicemente stupida.



2

Ho avuto lo stesso identico problema, ma solo per alcuni computer ...

Wireshark ha dimostrato che IE non tenta nulla sulla rete prima di colpire il server Web di destinazione. Il server Web impostato per ospitare wpad risponde a qualsiasi nome host su quel particolare indirizzo IP.

Ho ottenuto i client IE8 non funzionanti per scaricare nuovamente wpad.dat facendo questo:

  1. Strumenti-> Opzioni Internet-> Avanzate-> Ripristina
  2. Chiuso IE e riaperto

Sfortunatamente, dopo aver apportato modifiche al file wpad.dat è evidente che IE8 dopo il primo download di wpad.dat non esegue ulteriori download :-(



1

Prova a eseguire WireShark su un computer client ... vedi dove sta guardando IE? Il tuo server web registra che ha servito qualche wpad?


Grazie per il suggerimento di Wireshark. Ha dato risultati interessanti, ma sorprendenti. Sebbene "Rileva automaticamente impostazioni" selezionato IE non si riferisse a wpad una volta. Non ci sono state ricerche DNS per risolvere il nome wpad con alcun suffisso. Quando inserisco una voce manuale per "usa lo script di configurazione automatica", vedo nslookups in esecuzione su wpad. Quindi, sembra che IE non stia davvero cercando di trovare il file di auto-configurazione!
David M Williams,

1
Assicurati che l'opzione 252 sul tuo DHCP non sia impostata su "" o simile - che potrebbe causare confusione. Inoltre, wpad potrebbe non funzionare se non hai configurato il dominio locale.
Tom Newton,

1

Internet Explorer tenterà di accedere a " http: //wpad.your-mach 's-dns-suffix.com/wpad.dat". Assicurati che il server web configurato per servire il file wpad.dat risponda al nome host completo. (A proposito, IE decomporrà il suffisso DNS anche provando ogni dominio genitore. Dai un'occhiata a http://wpad.com . Il ragazzo che possiede quel dominio avrebbe potuto essere davvero, molto male se avesse voluto .. .)


1

La versione 6.0.2900.xxxx di IE cerca il nome file "wpad.da" invece di "wpad.dat" ATTENZIONE! ;) Basta usare uno sniffer o controllare i log del server web.

Spero che sia di aiuto!


0

Come Tom Newton suggerisce di eseguire WireShark per vedere cosa sta facendo IE (query DNS, HTTP GET, ...), guarda anche i log del tuo server web.
Accertati che IE invii l'IP anziché il nome host (wpad) come "Host" nella query GET in modo da non poter utilizzare un host virtuale "wpad" sul server web.


Questo secondo punto è interessante; se quello che dici è vero, è molto probabile che sia questo il problema. Non volevo wpad.dat nella radice del sito Web principale, quindi ho creato una nuova directory e un host virtuale per il "sito Web" di wpad, per così dire. Tuttavia, se IE è alla ricerca automatica di 10.1.1.1/wpad.dat invece di wpad.domain.local / wpad.dat, questo sarà il problema. Ci proverò prima ...
David M Williams,

No, non ha funzionato. Sto pensando che IE non stia facendo nulla nonostante sia selezionata la casella "Rileva automaticamente impostazioni".
David M Williams,

Come, per commento sulla risposta di Tom, non hai visto nulla in WireShark, potrebbe essere un bug nella versione di IE (quale versione?) O qualcosa nella configurazione di Windows (Politica di sicurezza? GPO?) Che lo disabilita. (ma non ho idea di quali impostazioni potrebbe essere, è solo un'idea)
raggio

0

Questo metodo funziona per me

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

Penso che IE8 mi faccia confondere molto, sono affetti da SM ma perché funzionano in modo inadeguato. Mentre Firefox funziona molto bene.


0

Se stai usando DHCP, allora c'è un'impostazione (opzione 252, IIRC), per dichiarare la posizione del tuo file wpad. Credo che tu abbia sbagliato a non poter utilizzare Firefox.

Inoltre, hai localdomain nell'elenco di ricerca?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.