WPAD працює для всього, крім оновлення Windows


1

Я намагаюся зробити автоматичне виявлення проксі-сервера, що працює в мережі, і він працює нормально для всіх браузерів, включаючи IE, але оновлення Windows не буде працювати.

Я створив веб-сервер для того самого файлу WPAD з: http://wpad.ourdomain.com/wpad.dat http://proxy.ourdomain.com/proxy.pac http://proxy.ourdomain.com /

Я встановив тип MIME для повернення як application / x-ns-proxy-autoconfig, і я додав варіант 252 до нашого DHCP-сервера до URL-адреси PAC.

Спочатку я мав у файлі закінчення рядків Unix, тому я вважав, що це може зробити Windows капризним, тому я змінив його на закінчення рядків Windows без змін.

Коли я вказую ті самі реквізити про проксі, PAC робить вручну оновлення Windows, це задоволення, але коли йому повідомлено про автоматичне виявлення або явне використання нашої URL-адреси PAC, оновлення Windows не вдасться.

Збій Windows Update також дуже дивний, ви можете перейти на сторінку, і вона завантажується просто чудово, ймовірно, тому, що у IE немає проблем з файлом PAC, але, як тільки ви натискаєте кнопку для "Експрес" (або "Користувацький" для цього питання), тоді панель прогресу обертається протягом 5 хвилин або близько того, а потім повертає помилку, кажучи, що не вдалося підключитися.

Це повний вміст, що повертається з WPAD, включаючи заголовки HTTP (хоча і анонімізовані):

$ 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

Оновлення - у Skype також є проблеми з нашим файлом PAC / WPAD, але IE, хром, FireFox і Safari з цим добре працюють.
Барт Б

Щось у журналах проксі? Skype та Windows Update використовуватимуть CONNECT: для SSL. Ви пробували зашифровані SSL сайти?
Турбо J

HTTPS чудово працює в IE. Крім того, під час перегляду веб-сервера та проксі-журналів ви можете побачити, як Windows вимагає отримати файл PAC (код повернення 200 ОК), то він ніколи навіть не намагається підключитися до проксі-сервера, тому здається, що він не розбирає PAC файл чомусь. Навпаки, ви можете дивитися IE за допомогою файлу PAC і бачити, як він отримує файл PAC з веб-сервера, а потім миттєво бачите трафік у протоколах проксі.
Барт Б


@PaulSweatte Я не думаю, що це дублікат цього. Оновлення Windows, схоже, не використовує UDP.
BeowulfNode42
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.