Estou tentando fazer com que a detecção automática de proxy funcione em uma rede, e ela está funcionando bem para todos os navegadores, incluindo o IE, mas o Windows Update não funcionará.
Eu configurei um servidor da Web para servir o mesmo arquivo WPAD de: link link link
Configurei o tipo MIME para ser retornado como application / x-ns-proxy-autoconfig e adicionei a opção 252 ao nosso servidor DHCP à URL do PAC.
Inicialmente eu tinha terminações de linha do Unix no arquivo, então pensei que isso poderia deixar o Windows irritante, então eu mudei para o fim de linha do Windows sem nenhuma mudança.
Quando especifico os mesmos detalhes de proxy que o PAC faz manualmente, o Windows Update está feliz, mas quando solicitado a detectar automaticamente ou usar explicitamente o URL do PAC, o Windows Update falha.
A forma como o Windows Update falha também é muito estranha, você pode ir para a página, e ele carrega muito bem, provavelmente porque o IE não tem problemas com o arquivo PAC, mas, assim que você clicar no botão para "Express "(ou" Personalizado "), então a barra de progresso gira por 5 minutos ou mais, e então retorna um erro dizendo que não conseguiu se conectar.
Este é o conteúdo completo que está sendo retornado da WPAD, incluindo os cabeçalhos HTTP (embora sejam anônimos):
$ curl http://wpad.ourdomain.com/wpad.dat -v
* About to connect() to wpad.ourdomain.com port 80 (#0)
* Trying 10.0.0.80... connected
* Connected to wpad.nuim.ie (10.0.0.80) port 80 (#0)
> GET /wpad.dat HTTP/1.1
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
> Host: wpad.ourdomain.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Thu, 22 Mar 2012 14:14:38 GMT
< Server: Apache/2.2.15 (Red Hat)
< Expires: Thu, 22 Mar 2012 17:14:38 GMT
< Connection: close
< Transfer-Encoding: chunked
< Content-Type: application/x-ns-proxy-autoconfig; charset=ISO-8859-1
<
function FindProxyForURL(url, host) {
if (isInNet(host, '1.2.0.0', '255.255.0.0')) {
return 'DIRECT';
}
if (isInNet(host, '10.0.0.0', '255.0.0.0')) {
return 'DIRECT';
}
if (isInNet(host, '127.0.0.1', '255.255.255.255')) {
return 'DIRECT';
}
if (isInNet(host, '192.168.0.0', '255.255.0.0')) {
return 'DIRECT';
}
if (localHostOrDomainIs(host, 'somehost.something.com')) {
return 'DIRECT';
}
if (localHostOrDomainIs(host, 'someotherhost.somethingelse.com')) {
return 'DIRECT';
}
return "PROXY proxy1.ourdomain.com:3128;PROXY proxy2.ourdomain.com:3128;DIRECT";
}
//some debug information here in a comment
* Closing connection #0
Tags windows proxy windows-update