Internet Explorer не обнаруживает автоматически http://wpad/wpad.dat

Я доволен этой проблемой.

Я настроил файл с именем wpad.dat (по сути, файл proxy.pac, переименованный) и разместил его на внутреннем веб-сайте. Я настроил записи DNS, чтобы имя хоста wpad было CNAME для веб-сервера. Я установил соответствующий тип MIME для файлов.dat на веб-сайте. Я удалил wpad из списка заблокированных глобальных запросов DNS.

Я знаю, что файл конфигурации синтаксически корректен, потому что если я вручную установлю в Internet Explorer "использовать скрипт автоматической настройки" на http://wpad/wpad.dat прокси явно используется (т. е. я вижу, что мой просмотр отображается в файлах журналов, а также на некоторых сайтах, на которых я отказался, появляется страница замены).

Тем не менее, я понимаю, что все, что мне нужно сделать, это установить флажок "Автоматически определять настройки", и Internet Explorer должен сам искать http://wpad/wpad.dat - или, вернее, http://wpad.localdomain/wpad.dat - который тоже работает.

Может ли кто-нибудь помочь мне диагностировать эту проблему? Я просто не вижу, что я пропустил или что не так.

Спасибо!!

(Обратите внимание, что также можно установить файл автоматической конфигурации с использованием DHCP, однако у нас есть многосайтовая организация с DHCP, которая обеспечивается смесью серверов и маршрутизаторов в зависимости от местоположения, а также удаленных офисов, использующих сотовые модемы 3G, которые имеют очень простые Средства DHCP. Кроме того, только Internet Explorer, как утверждается, поддерживает автоматическое обнаружение веб-прокси через DHCP - ни Firefox, ни Safari не делают. Мы на самом деле не используем ни один из этих браузеров, но ради максимальной совместимости плюс простоты будущего администрирования / изменений Я думаю, что, безусловно, лучше заставить это работать с помощью единственной записи DNS.)

11 ответов

Дэвид,

Если вы все еще сталкиваетесь с этой проблемой, на самом деле это довольно просто исправить. Но это нигде не задокументировано, и мне понадобились целые годы, чтобы разобраться в этом в моей среде. Все, что вы сделали, хорошо, и это то, что я бы назвал ошибкой в ​​том, как IE получает информацию WPAD и подключается к веб-серверу.

Прежде всего, вы не можете использовать запись CNAME для WPAD. Используйте запись. Глупо, я знаю, и это не должно иметь никакого значения, но это определенно так. Поэтому удалите свой CNAME в DNS и сделайте запись A для IP-адреса веб-сервера.

Во-вторых (и это может быть более сложным для вас), вам нужно иметь файл WPAD.DAT, расположенный в корне веб-сайта по умолчанию, который прослушивает IP-адрес, который вы назначили выше. Это ключ. Он НЕ БУДЕТ работать с полем заголовка узла или чем-то подобным.

Объяснение: IE выполняет преобразование имени WPAD в IP-адрес. Он должен быть в состоянии разрешить его непосредственно на IP-адрес. Если он разрешается, как запрос CNAME с другим именем, он не будет работать. Поэтому, как только IE получит IP-адрес, к которому разрешается WPAD, он подключается к http://<>/WPAD.dat. Если у вас есть другой веб-сайт, настроенный на том же веб-сервере, прослушивающий порт 80, но использующий поле заголовка узла, как у меня (IE, "веб-сайт по умолчанию", а также "веб-сайт WPAD"), то вы будете все настроено правильно, но по той же причине это не сработает. Поместите копию файла WPAD.DAT в корень веб-сайта по умолчанию, и все должно начать работать.

Конечно, если вы не можете получить доступ к корню этого веб-сайта (или вы не можете защитить корень этого веб-сайта), вам может потребоваться переместить ваш WPAD-сайт на другой сервер, где он может находиться. корень IP-адреса, назначенного этому серверу.

В любом случае, сделайте это. Это процесс, который работал для меня. Мне понадобились целые годы, чтобы заставить его работать, но он надежно работал уже долгое время. Все вышеперечисленное - просто мое понимание того, как IE работает с файлами WPAD.DAT, и, возможно, оно неверно - оно просто основано на наблюдении за тем, что он делает в моей собственной среде. У тебя могут быть другие, но я бы по крайней мере положил немного денег на решение твоей проблемы.

Дайте мне знать, как вы поживаете! Матто:)

Этот вопрос о проблеме с сервером часто встречается в поиске Google, поэтому я отвечаю на него. Я надеюсь, что другие найдут это полезным, так как эта проблема была для меня настоящей болью.

Было затронуто почти каждый компьютер с Windows 7 в нашем домене, в котором было около 50 пользователей - обходить и сбрасывать IE было неприемлемо, насколько я был обеспокоен, поэтому в итоге я решил это следующим образом:

Во-первых, вот несколько полезных, но очень трудно найти ссылки, с которыми я столкнулся:

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/

Я бы посоветовал вам сначала прочитать каждую из ссылок.

Следующая цитата из первой ссылки особенно интересна:

"Оказывается, что эти умные парни из Microsoft реализовали функцию, чтобы прекратить проверять сервер WPAD после нескольких неудачных попыток. Он считает, что знает, в какой сети находится роуминг-машина, и оставляет записку для себя в реестре, если это не так. Я не буду искать снова. Много пользы, если вы только что это реализовали. "

Я обнаружил, что в ссылках указана клавиша wpad reg, и именно так я нашел ссылки в Google. Я стал безжалостным во время тестирования и обнаружил, что работает следующее:

Закройте все сеансы IE, откройте панель управления -> Свойства обозревателя -> вкладка "Подключения" -> "Настройки локальной сети" и снимите флажок "Автоматически определять настройки" (и все остальные параметры) - НЕ ОТКРЫВАЙТЕ IE СНОВА.

Удалите следующий ключ reg:

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

Откройте Панель управления -> Свойства обозревателя -> Вкладка "Подключения" -> "Настройки локальной сети" и отметьте "Автоматически определять настройки".

Если вы обновите свое окно regedit (F5), вы должны увидеть, что ключ reg wpad создан заново, но он будет пуст.

Теперь откройте IE. Снова обновите регистр wpad, и вы увидите, что он заполнен подразделом, содержащим различную информацию wpad.

Это было исправление без перезагрузки IE, но мне все равно нужно было как-то развернуть его на 50 машинах. Я сделал это следующим образом:

Я создал следующий регистр с помощью компьютера, который был сброшен, как указано выше (не копируйте этот дословно, поскольку он был создан на основе нашего домена, и я отредактировал доменное имя), строка wpadOverride была добавлена ​​вручную:

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]

Это было добавлено в сценарии входа пользователя и в основном удаляет ключ reg и заменяет его.

Затем я создал объект групповой политики для отключения "Автоматически определять настройки" и вручную добавил URL-адрес wpad:

Конфигурация пользователя -> Политики -> Настройки Windows -> Обслуживание Internet Explorer -> Соединение -> Автоматическая настройка браузера | Снимите флажок "Автоматически определять параметры конфигурации" и отметьте "Включить автоматическую настройку" и вставьте " http://wpad.example.local/wpad.dat " в "URL-адрес автоматической настройки".

Я также включил "Переопределение кэширования решений IE WPAD" (см. Вторую ссылку выше).

Затем я оставил это на несколько дней для развертывания на как можно большем количестве компьютеров, затем отключил "URL-адрес автоматической настройки", снова установил флажок "Автоматически определять параметры конфигурации" и удалил ключ reg из сценария входа.

Я сделал это, так как он не работал, просто сняв галочку и затем отметив флажок "Автоматически определять параметры конфигурации" с помощью объекта групповой политики, чтобы в конечном итоге добавление URL-адреса могло быть необязательным.

Я надеялся, что WpadOverride будет работать без дополнительных шагов, но, к сожалению, в моем случае это не сработало.

Кстати, использование cname прекрасно работает в нашей сети.

После этого все компьютеры, которые были отключены на время исправления, обрабатывались вручную.

Я надеюсь, что это поможет другим, кто сталкивался с этим вопросом, как я сделал через Google. Эта "фича" от Microsoft просто глупа.

Другой метод решения этой проблемы для IE8 (может работать и для IE7) - изменить пару параметров в групповой политике.

  • Конфигурация компьютера> Административные шаблоны> Компоненты Windows> Internet Explorer > Настройка параметров прокси для каждого компьютера (а не для пользователя) = Включено
  • Конфигурация пользователя> Административные шаблоны> Компоненты Windows> Internet Explorer > Отключить кэширование сценариев Auto-Proxy = включено

После изменения указанных выше двух настроек я смог настроить WPAD для работы в IE8.

ПРИМЕЧАНИЕ. Вам не нужно находиться в доменной среде, чтобы использовать это. На компьютере рабочей группы просто используйте GPEDIT.MSC для изменения политики локального компьютера.

См.: Как отключить автоматическое кэширование прокси в Internet Explorer

С уважением, Ким

Еще одна вещь, на которую стоит обратить внимание, подробно изложена в следующем URL: https://technet.microsoft.com/en-au/library/cc995158.aspx

В DNS может быть включен черный список, для которого wpad определен как заблокированная запись, это защитная мера.

У меня была точно такая же проблема, но только для нескольких компьютеров...

Wireshark показал, что IE ничего не предпринимает в сети, прежде чем попасть на целевой веб-сервер. Веб-сервер, который настроен на хост wpad, отвечает на любое имя хоста на этом конкретном IP-адресе.

Я заставил нерабочих клиентов IE8 снова загрузить wpad.dat, выполнив это:

  1. Сервис-> Свойства обозревателя-> Дополнительно-> Сброс
  2. Закрыл IE и снова открыл его

К сожалению, после внесения изменений в файл wpad.dat становится очевидным, что IE8 после первой загрузки wpad.dat больше не загружается:-(

Internet Explorer попытается получить доступ к " http://wpad.your-machine/'s-dns-suffix.com/wpad.dat". Убедитесь, что веб-сервер, настроенный для обслуживания файла wpad.dat, отвечает за полное имя хоста. (Кстати, IE будет разлагать DNS-суффикс, пробуя каждый родительский домен. Взгляните на http://wpad.com/. Парень, которому принадлежит этот домен, мог бы быть действительно, действительно злым, если бы захотел...)

Попробуйте запустить wireshark на клиентском компьютере... посмотрите, где IE смотрит? Ваш веб-сервер регистрирует, что он обслуживал какие-либо wpads?

IE версии 6.0.2900.xxxx ищет имя файла "wpad.da" вместо "wpad.dat" БУДЬТЕ ОСТОРОЖНЫ!;) Просто используйте сниффер или проверьте логи вашего веб-сервера.

Надеюсь это поможет!

Как Том Ньютон предлагает запустить wireshark, чтобы увидеть, что делает IE (DNS-запрос, HTTP GET, ...), также посмотрите журналы вашего веб-сервера.
Позаботьтесь о том, чтобы IE отправлял IP вместо имени хоста (wpad) в качестве "хоста" в запросе GET, чтобы вы не могли использовать виртуальный хост "wpad" на веб-сервере.

Этот метод работает для меня

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

Я думаю, что IE8 меня сильно смущает, они из MS, но почему это работает неправильно. Хотя Firefox работает очень хорошо.

Если вы используете DHCP, то есть настройка (опция 252, IIRC) для объявления местоположения вашего файла wpad. Я считаю, что вы ошибаетесь в том, что Firefox не может использовать это.

Кроме того, у вас есть локальный домен в списке поиска?

Другие вопросы по тегам