O Internet Explorer não detecta automaticamente http: //wpad/wpad.dat auto-config

9

Estou sendo levado à frustração por esse problema.

Configurei um arquivo chamado wpad.dat (essencialmente, um arquivo proxy.pac renomeado) e o coloquei em um site interno. Eu configurei as entradas DNS para que o nome do host wpad seja um CNAME para o servidor da web. Defino o tipo MIME apropriado para arquivos .dat no site. Eu removi o wpad da lista de bloqueios de consulta global do DNS.

Eu sei que o arquivo de configuração está sintaticamente correto, porque se eu definir manualmente o "usar script de configuração automática" do Internet Explorer como http://wpad/wpad.dato proxy está claramente sendo usado (ou seja, eu vejo minha navegação aparecer nos arquivos de log e em alguns sites que eu neguei) minha página de substituição.)

No entanto, entendo que tudo o que preciso fazer é marcar a caixa "Detectar configurações automaticamente" e o Internet Explorer deve procurar http://wpad/wpad.dat- ou, mais corretamente http://wpad.localdomain/wpad.dat- o que também funciona.

Alguém pode me ajudar a diagnosticar esse problema? Simplesmente não consigo ver o que perdi ou o que está errado.

Obrigado !!

(Observe, também é possível definir o arquivo de configuração automática usando DHCP, no entanto, temos uma organização de vários sites com DHCP fornecida por uma mistura de servidores e roteadores, dependendo da localização, além de escritórios remotos usando modems celulares 3G, que são muito básicos. Além disso, é apenas o Internet Explorer que supostamente suporta a descoberta automática de proxy da Web via DHCP - nem o Firefox nem o Safari. Na verdade, não usamos nenhum desses navegadores, mas por uma questão de compatibilidade máxima e facilidade de administração / alterações futuras Eu acho que é certamente melhor fazer isso funcionar através de uma entrada DNS única e agradável.)

David M Williams
fonte
Você chegou a algum lugar com isso. Estou tendo exatamente o mesmo problema. Estou seriamente tentado a culpar o IE como o firefox autodetecta lindamente, no entanto, o IE falha em detectar e escolher a raiz padrão!
Kip
Eu não fiz. Acabei tendo que especificar um valor para "usar script de configuração automática". É irritante porque toda a literatura diz que o que eu fiz está correto. No entanto, usando as sugestões fornecidas aqui (por exemplo, use o WireShark para ver o que está acontecendo, verifique os logs do IIS, etc.) Estou certo de que o IE simplesmente não está tentando abrir o wpad / wpad.dat , mesmo que toda a documentação diga que deveria!
David M Williams
Para mim, isso ocorreu devido a várias interfaces, e o IE escolheu o adaptador do VirtualBox somente ao chamar o WPAD myIpAddress (). Veja também serverfault.com/a/425966/11594
Chris J

Respostas:

16

David,

Caso você ainda esteja enfrentando esse problema, é realmente bastante simples de corrigir. Mas isso não está documentado EM QUALQUER LUGAR, e levei anos para resolvê-lo no meu ambiente. Tudo o que você fez é bom, e é o que eu chamaria de bug na maneira como o IE obtém as informações do WPAD e se conecta ao servidor da web.

Primeiro de tudo, você não pode usar um registro CNAME para o WPAD. Use um registro A. Bobo, eu sei, e não deve fazer nenhuma diferença, mas é definitivamente o caso. Portanto, remova seu CNAME no seu DNS e faça um registro A para o Endereço IP do servidor web.

Em segundo lugar (e isso pode ser mais complicado para você), você precisa ter o arquivo WPAD.DAT localizado na raiz do site padrão que está escutando o Endereço IP que você atribuiu acima. Essa é a chave. NÃO funcionará com um campo de cabeçalho de host ou algo assim.

Explicação: O que o IE faz é resolver o nome WPAD para um Endereço IP. Ele deve ser capaz de resolvê-lo diretamente para um endereço IP. Se resolver como uma consulta CNAME com um nome diferente, não funcionará. Portanto, quando o IE obtém o endereço IP para o qual o WPAD resolve, o que realmente faz é conectar-se a http: // <> /WPAD.dat. Se você tiver um site diferente configurado no mesmo servidor da Web, ouvindo na porta 80, mas usando um campo de cabeçalho de host como eu tinha (IE, "site padrão" e também "Site WPAD"), então você tenha tudo configurado corretamente, mas não funcionará exatamente por esse motivo. Coloque uma cópia do seu arquivo WPAD.DAT na raiz do seu site padrão e tudo deve começar a funcionar.

Obviamente, se você não conseguir acessar a raiz desse site (ou não conseguir proteger a raiz desse site), poderá precisar mover o site WPAD para um servidor diferente em que ele pode estar. a raiz do endereço IP atribuído a esse servidor.

De qualquer forma, dê uma chance. Esse é o processo que funcionou para mim. Levei séculos para fazê-lo funcionar, mas ele está funcionando de maneira confiável agora há muito tempo. No entanto, tudo o que foi dito acima é simplesmente meu entendimento de como o IE funciona em relação aos arquivos WPAD.DAT e pode não estar correto - é simplesmente baseado na observação do que ele faz no meu próprio ambiente. O seu pode ser diferente, mas eu pelo menos gastaria algum dinheiro com a solução do problema.

Deixe-me saber como você se dá! Matto :)


fonte
Estou vendo esse mesmo problema, Matto. Como hospedamos o wpad.dat em um servidor que hospeda outros sites, usamos a ligação do IIS com os cabeçalhos de host wpad e wpad.our.domain para servir o arquivo de configuração do proxy. Quando nosso DNS era um wpad CNAME para o verdadeiro fqdn.our.domain, o Firefox funcionaria, mas o Cliente Internet Explorer / WinHttp falharia devido à solicitação HTTP contra o FQDN - é muito inteligente e ver o CNAME redirecionando para solicitar diretamente o nome de Uma gravação. Mudar para direcionar Um registro para o "wpad" corrigido WinHTTP / IE!
Mister_Tom
3

Outro método para resolver isso no IE8 (também pode funcionar no IE7) é alterar algumas configurações na Diretiva de Grupo.

  • Configuração do computador> Modelos administrativos> Componentes do Windows> Internet Explorer> Definir configurações de proxy por máquina (em vez de por usuário) = Ativado
  • Configuração do usuário> Modelos administrativos> Componentes do Windows> Internet Explorer> Desativar cache de scripts de proxy automático = Ativado

Com as 2 configurações acima modificadas, consegui que as configurações do WPAD funcionassem no IE8.

NOTA: Você não precisa estar em um ambiente de domínio para usar isso. Em um PC de grupo de trabalho, basta usar o GPEDIT.MSC para alterar a diretiva do computador local.

Consulte: Como desativar o cache automático de proxy no Internet Explorer

Atenciosamente, Kym

Zoredache
fonte
3

Esta questão de falha no servidor aparece em alta nas pesquisas do Google, e é por isso que estou respondendo a ela. Espero que outros achem isso útil, pois esse problema foi uma verdadeira dor para mim.

Quase todos os computadores com Windows 7 em nosso domínio, com cerca de 50 usuários, foram afetados - não foi aceitável reiniciar o IE e redefinir o IE, então resolvi o seguinte:

Em primeiro lugar, aqui estão alguns links úteis, mas muito difíceis de encontrar:

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

Eu sugiro que você leia primeiro cada um dos links.

A seguinte citação do primeiro link é particularmente interessante:

"Acontece que os caras espertos da Microsoft implementaram um recurso para parar de procurar um servidor WPAD após algumas tentativas fracassadas. Reconhece que sabe em qual rede uma máquina de roaming está, deixa uma nota para si no registro, se não estiver. vai incomodar a olhar novamente. Um monte de utilidade se você acabou de implementá-lo. "

Eu encontrei a chave wpad reg anotada nos links, que é como encontrei os links no google. Fiquei implacável durante o teste e descobri que o seguinte funciona:

Feche todas as sessões do IE, abra o Painel de controle -> Opções da Internet -> guia Conexões -> Configurações da LAN e desmarque a opção "Detectar configurações automaticamente" (e todas as outras opções) - NÃO ABRA O IE DE NOVO.

Exclua a seguinte chave de registro:

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

Abra o Painel de Controle -> Opções da Internet -> Guia Conexões -> Configurações da LAN e TICK "Detectar Configurações Automaticamente".

Se você atualizar sua janela regedit (F5), deverá ver a chave reg do wpad recriada, mas ela estará vazia.

Agora abra o IE. Atualize o registro do wpad novamente e você deverá vê-lo preenchido com uma subchave que contém várias informações do wpad.

Esta foi uma correção sem ter que redefinir o IE, mas eu ainda precisava implantá-lo em 50 máquinas de alguma forma. Fiz isso da seguinte maneira:

Criei o seguinte registro usando um computador que eu havia redefinido como acima (não copie esse texto literalmente, pois ele foi criado com base em nosso domínio e editei o nome do domínio), a linha wpadOverride foi adicionada 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]

Isso foi adicionado aos scripts de login do usuário e basicamente exclui a chave reg e a substitui.

Criei um GPO para desativar "Detectar configurações automaticamente" e adicionei manualmente o URL do wpad:

Configuração do Usuário -> Diretivas -> Configurações do Windows -> Manutenção do Internet Explorer -> Conexão -> Configuração Automática do Navegador | Desmarque a opção "Detectar automaticamente as configurações" e marque "Ativar configuração automática" e insira " http: //wpad.example.local/wpad.dat " em "URL de configuração automática".

Também habilitei a "Substituição de cache de decisão do IE WPAD" (consulte o segundo link acima).

Deixei isso por alguns dias para implantar no maior número possível de computadores, desabilitei o "URL de configuração automática" e marquei "Detectar automaticamente as definições de configuração" novamente e removi a chave reg do script de login.

Fiz isso porque não parecia funcionar simplesmente desmarcando e marcando a caixa "Detectar definições de configuração automaticamente" via GPO, para que a adição da URL não seja necessária.

Eu esperava que o WpadOverride funcionasse sem as etapas extras, mas infelizmente não funcionou no meu caso.

Aliás, usar um cname funciona perfeitamente bem em nossa rede.

Todos os computadores que estavam desligados durante a correção foram manipulados manualmente depois disso.

Espero que isso ajude outros que se deparam com essa pergunta como eu fiz via google. Esse "recurso" da Microsoft é simplesmente estúpido.

gelatina
fonte
2

Eu tive exatamente o mesmo problema, mas apenas para alguns computadores ...

O Wireshark mostrou que o IE não tenta nada na rede antes de atingir o servidor da web de destino. O servidor da Web configurado como host wpad responde a qualquer nome de host nesse endereço IP específico.

Consegui que os clientes IE8 que não funcionassem baixassem o wpad.dat novamente, fazendo o seguinte:

  1. Ferramentas-> Opções da Internet-> Avançadas-> Restaurar
  2. Fechou o IE e o reabriu

Infelizmente, depois de fazer modificações no arquivo wpad.dat, é evidente que o IE8 após o primeiro download do wpad.dat não faz mais downloads :-(


fonte
1

Tente executar o wireshark em uma máquina cliente ... veja para onde o IE está procurando? O seu servidor da web registra que ele serviu algum wpads?

Tom Newton
fonte
Obrigado pela sugestão do Wireshark. Deu resultados interessantes, mas surpreendentes. Embora 'Detectar configurações automaticamente', o IE não tenha consultado o wpad uma vez. Não houve pesquisas de DNS para resolver o nome wpad com nenhum sufixo. Quando insiro uma entrada manual para 'use script de configuração automática', vejo nslookups sendo executados no wpad. Então, parece que o IE não está realmente tentando encontrar o arquivo de configuração automática!
David M Williams
1
Verifique se a opção 252 no seu DHCP não está definida como "" ou semelhante - isso pode estar causando confusão. O wpad também pode não funcionar se você não tiver o domínio local configurado.
Tom Newton
1

O Internet Explorer tentará acessar " http: //wpad.your-machine 's-dns-suffix.com/wpad.dat". Verifique se o servidor da Web configurado para servir o arquivo wpad.dat está respondendo pelo nome completo do host. (BTW, o IE também decomporá o sufixo DNS tentando cada domínio pai. Dê uma olhada em http://wpad.com . O cara que possui esse domínio poderia ter sido muito, muito ruim se ele quisesse. .)

Evan Anderson
fonte
1

O IE versão 6.0.2900.xxxx procura o nome do arquivo "wpad.da" em vez de "wpad.dat" CUIDADO! ;) Basta usar um sniffer ou verificar os logs do servidor da web.

Espero que isto ajude!

Pangu
fonte
0

Como Tom Newton sugere que execute o wireshark para ver o que o IE está fazendo (consulta DNS, HTTP GET, ...), verifique também os logs do servidor da web.
Tome cuidado para que o IE envie o IP em vez do nome do host (wpad) como 'Host' na consulta GET, para que você não possa usar um host virtual 'wpad' no servidor da web.

raio
fonte
Este segundo ponto é interessante; se o que você diz é verdade, provavelmente esse é o problema. Eu não queria o wpad.dat na raiz do site principal, então criei um novo diretório e host virtual para o 'site' do wpad, por assim dizer. No entanto, se o IE procurar automaticamente 10.1.1.1/wpad.dat em vez de wpad.domain.local / wpad.dat, esse será o problema. Vou tentar este primeiro ...
David M Williams
Não, isso não funcionou. Estou pensando que o IE simplesmente não está fazendo nada, apesar da caixa 'detectar configurações automaticamente' estar marcada.
David M Williams
Como, por comentário na resposta do Tom, você não viu nada no wireshark, pode ser um erro na versão do IE (qual versão?) Ou algo na configuração do Windows (Política de Segurança ?, GPO?) Que desabilita isso. (mas não tenho idéia do que as configurações que poderia ser, é apenas uma idéia)
raio de
0

Este método funciona para mim

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

Eu acho que o IE8 me confunde muito, eles da MS, mas por que isso funciona de maneira inadequada. Enquanto o Firefox funciona muito bem.

user50941
fonte
0

Se você estiver usando DHCP, existe uma configuração (opção 252, IIRC) para declarar a localização do seu arquivo wpad. Eu acredito que você está incorreto sobre o Firefox não poder usar isso.

Além disso, você tem domínio local na lista de pesquisa?

Greeblesnort
fonte