Медленная работа Internet Explorer 11 через прокси-сервер Squid с использованием Proxy Auto Configuration (WPAD)

imageПосле перехода с Forefront TMG на Squid мне не давала покоя одна проблема, разобраться с которой “с наскоку” никак не получалось. При использовании браузера Internet Explorer 11 в связке с прокси-сервером Squid наблюдались задержки при открытии веб-страниц Интернет-ресурсов, и особенно это было ощутимо на https-ресурсах. При этом те же самые веб-страницы открывались в других браузерах без подобных проблем. Так уж получилось, что изначально изучение этой проблемы пошло в неверном направлении и было ориентировано на связку IE11/HTTPS/Squid. Попытка разобрать трафик между клиентом IE11 и прокси-сервером Squid не дала ничего интересного. В ходе поиска возможной причины использовались всевозможные варианты начиная с таких, как например изменение client_persistent_connections в конфигурационном файле Squid и заканчивая такими глупостями, как например, отключение SPDY/3 и HTTP 1.1 в IE11 или даже использование режима предприятия. По пути наткнулся на довольно занятную статью об IE на “Хабре”. В общем перебор возможных вариантов решения дошёл до экспериментов с авто-конфигурацией прокси, где тоже появились интересные подробности. В частности выяснилось, что IE может давать ощутимые задержки в открытии страниц, если в файле автоконфигурации прокси (WPAD) присутствует вызов функций вида isInNet(host,,).

Рассмотрение имеющейся проблемы медленной работы IE11 в контексте использования автоконфигурации прокси WDAP выявило весьма любопытное обстоятельство. При явном указании адреса прокси (отключение автоконфигурации прокси) в настройках IE11 проблема медленного открытия веб-страниц исчезала. Дальнейшее “разматываете клубка” в этом направлении и привело к корню проблемы. Оказалось, что причиной странного поведения IE11 стала системная служба “Служба автоматического обнаружения веб-прокси WinHTTP” (WinHttpAutoProxySvc), вернее её состояние.

image

В нашем случае служба была ранее форсировано выключена через доменные групповые политики…

image

Интересно, то что в Интернете можно найти заявления, говорящие об отсутствии данной связи, как например TechNet Forums - Постоянный запуск\остановка службы "WinHTTP Web Proxy Auto-Discover Service", хотя там скорее всего речь идёт о предыдущих версиях IE. Подтверждение выявленной проблемы и существующей связи IE с службой WinHttpAutoProxySvc можно найти также здесь TechNet Forums - Windows 8.1 with IE 11.0.2 - WPAD issue.

В общем корень проблемы известен и теперь осталось только правильно исправить ситуацию. В конфигурации по умолчанию тип запуска службы WinHttpAutoProxySvc - “Manual”, и если этот тип менялся на “Disabled”, то для его восстановления недостаточно будет просто выключить его в настройках GPO (скинуть галку “Define this policy setting”), так как при этом на клиентских компьютерах тип запуска службы останется в том виде, в котором он был сконфигурирован последним значением параметра GPO.

image

Поэтому более правильным вариантом будет оставить настройку службы включённой и задать тип запуска “Manual”. И уже спустя какое-то время, когда политика применится на всех клиентах, можно будет полностью отключить настройку этой службы в GPO.

Непонятным во всей этой истории для меня остался только тот факт, что проблема никак не проявлялась при использовании в качестве прокси-сервера Forefront TMG (с учетом того, что служба WinHttpAutoProxySvc была выключена на клиентах очень давно и Forefront TMG Client при этом нигде не использовался).

Всего комментариев: 3 Комментировать

  1. Sergei /

    Спасибо за статью.
    В случае Forefront TMG использовался ли TMG client?Если да то возможно у вас он конфигурировался через DNS запись например или DHCP...

    1. Алексей Максимов / Автор записи

      По поводу TMG Client написано в последнем предложении.

  2. Данная проблема была замечена и при работе с TMG 2010. После включения службы пользователи довольны)).

Добавить комментарий