WPAD fonctionne pour tout sauf Windows Update

1

J'essaie de faire en sorte que la détection automatique de proxy fonctionne sur un réseau, et cela fonctionne correctement pour tous les navigateurs, y compris IE, mais Windows Update ne fonctionnera pas.

J'ai configuré un serveur Web pour desservir le même fichier WPAD à partir de: http://wpad.ourdomain.com/wpad.dat http://proxy.ourdomain.com/proxy.pac http://proxy.ourdomain.com /

J'ai défini le type MIME à renvoyer en tant qu'application / x-ns-proxy-autoconfig et j'ai ajouté l'option 252 de notre serveur DHCP à l'URL PAC.

Initialement, le fichier comportait des fins de ligne Unix; j'ai donc pensé que cela risquait de rendre Windows grincheux. Je l'ai donc remplacé par des fins de ligne Windows sans modification.

Lorsque je spécifie les mêmes détails de proxy, le PAC fonctionne manuellement. Windows Update est satisfait, mais lorsqu'il est invité à détecter automatiquement ou à utiliser explicitement notre URL PAC, Windows Update échoue.

La façon dont Windows Update échoue est également très étrange, vous pouvez aller à la page et le chargement se déroule sans problème, probablement parce que IE n'a aucun problème avec le fichier PAC, mais dès que vous cliquez sur le bouton "Express" (ou "Personnalisé" d'ailleurs), la barre de progression tourne pendant environ 5 minutes, puis renvoie une erreur indiquant que la connexion a échoué.

Voici le contenu intégral renvoyé par WPAD, y compris les en-têtes HTTP (bien que anonymisés):

$ 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
Bart B
la source
Mise à jour - Skype a également des problèmes avec notre fichier PAC / WPAD, mais IE, Chrome, FireFox et Safari fonctionnent correctement.
Bart B
Y a-t-il quelque chose dans les journaux des mandataires? Skype et Windows Update utiliseront CONNECT: for SSL. Avez-vous essayé les sites cryptés SSL?
Turbo J
HTTPS fonctionne bien dans IE. En outre, lorsque vous consultez les journaux du serveur Web et du serveur proxy, vous pouvez voir Windows demander un fichier PAC (code de retour 200, OK). Il ne tente même jamais de se connecter au serveur proxy. Il semble donc que le fichier n’a pas été analysé. déposer pour une raison quelconque. En revanche, vous pouvez regarder IE en utilisant le fichier PAC et voir qu'il récupère le fichier PAC du serveur Web, puis vous voyez instantanément le trafic dans les journaux du proxy.
Bart B
duplication possible de Proxifier prenant en charge le protocole UDP?
Paul Sweatte
@ PaulSweatte Je ne pense pas que ce soit une copie de celui-ci. La mise à jour Windows ne semble pas utiliser UDP.
BeowulfNode42