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

9

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

Я создал файл с именем 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.)

Дэвид М Уильямс
источник
Вы получили что-нибудь с этим. У меня точно такая же проблема. Я сильно соблазняюсь винить IE, так как Firefox прекрасно определяет авто, но IE не в состоянии обнаружить и выбрать рут по умолчанию!
Кип
Я не В итоге мне пришлось указать значение для «использовать скрипт автоматической настройки». Это раздражает, потому что вся литература говорит о том, что я сделал правильно. Однако, используя приведенные здесь рекомендации (например, используйте WireShark, чтобы увидеть, что происходит, проверьте журналы IIS и т. Д.), Я уверен, что IE просто не пытается открыть wpad / wpad.dat, даже если вся документация говорит, что это должно!
Дэвид М Уильямс
Для меня это было связано с несколькими интерфейсами, и IE выбирал адаптер VirtualBox hostonly при вызове WPAD myIpAddress (). См. Также serverfault.com/a/425966/11594
Крис Дж

Ответы:

16

Дэвид,

Если вы все еще сталкиваетесь с этой проблемой, на самом деле это довольно просто исправить. Но это нигде не задокументировано, и мне понадобились целые годы, чтобы разобраться в этом в моей среде. Все, что вы сделали, хорошо, и это то, что я бы назвал ошибкой в ​​том, как 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, и, возможно, оно неверно - оно просто основано на наблюдении за тем, что он делает в моей собственной среде. У тебя могут быть другие, но я бы по крайней мере положил немного денег на решение твоей проблемы.

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


источник
Я вижу этот же вопрос Матто. Мы размещаем wpad.dat на сервере, на котором размещаются другие веб-сайты, поэтому мы использовали привязку IIS к заголовкам хоста wpad и wpad.our.domain для предоставления файла конфигурации прокси. Когда наш DNS был wpad CNAME для истинного fqdn.our.domain, тогда Firefox работал бы, но Internet Explorer / WinHttp Client отказывал из-за HTTP-запроса против FQDN - он слишком умный и видит CNAME, а затем перенаправляет запрос непосредственно на имя от Запись. Переключение на прямую Запись «wpad» исправлена ​​WinHTTP / IE!
Mister_Tom
3

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

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

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

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

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

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

Zoredache
источник
3

Этот вопрос о проблеме с сервером часто встречается в поиске 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 просто глупа.

jelloir
источник
2

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

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

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

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

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


источник
2

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

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

Джейсон ван дер Паал
источник
1

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

Том Ньютон
источник
Спасибо за предложение Wireshark. Это дало интересные, но удивительные результаты. Хотя «Автоматически определять настройки» отмечен, IE ни разу не обращался к wpad. Не было поиска DNS для разрешения имени wpad с каким-либо суффиксом. Когда я вставляю ручную запись для «использования скрипта автоматической настройки», я вижу, как на wpad выполняется nslookups. Таким образом, кажется, что IE на самом деле не пытается найти файл автоконфигурации вообще!
Дэвид М Уильямс
1
Убедитесь, что для параметра 252 на вашем DHCP не установлено значение "" или подобное - это может привести к путанице. Также wpad может не работать, если у вас не настроен локальный домен.
Том Ньютон
1

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

Эван Андерсон
источник
1

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

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

Паньгу
источник
0

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

радиус
источник
Этот второй пункт интересен; если то, что вы говорите, правда, то это, скорее всего, проблема. Я не хотел, чтобы wpad.dat находился в корне основного веб-сайта, поэтому я создал новый каталог и виртуальный хост для так называемого «веб-сайта» wpad. Однако, если IE автоматически ищет 10.1.1.1/wpad.dat вместо wpad.domain.local / wpad.dat, тогда это будет проблемой. Я попробую это сначала ...
Дэвид М Уильямс
Нет, это не сработало. Я думаю, что IE просто ничего не делает, несмотря на флажок «автоматически определять настройки».
Дэвид М Уильямс
Поскольку, согласно комментарию к ответу Тома, вы не видели ничего в wireshark, это может быть ошибка в версии IE (какая версия?) Или что-то в конфигурации Windows (Политика безопасности ?, GPO?), Которая отключает это. (но я понятия не имею, какие настройки это могут быть, это всего лишь идея)
radius
0

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

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

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

user50941
источник
0

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

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

Greeblesnort
источник