Назад | Перейти на главную страницу

IIS7 Медленно для некоторых пользователей при использовании проверки подлинности Windows

У нас есть Интернет-сайт, содержащий файл "hello world" .html на IIS7 с включенной аутентификацией Windows. Пользователи - это пользователи Windows на локальном компьютере на веб-сервере. У некоторых пользователей сайт работает очень медленно. Используя fiddler2, я отследил задержку в 15 секунд между подключением браузера и началом первоначального запроса GET:

ACTUAL PERFORMANCE
--------------
ClientConnected:    15:28:09.737
ClientBeginRequest: 15:28:24.750
ClientDoneRequest:  15:28:24.750
...

Затем сайт отвечает HTTP 401, браузер немедленно отвечает вторым GET-запросом (предположительно с соответствующим токеном аутентификации), который сразу же возвращается с HTTP 200.

Проблема возникает независимо от того, с какой машины я к ней обращаюсь. Проблема возникает только в IE (v6 - v8), Firefox и Chrome работают нормально.

На моем компьютере проблему решает использование IP-адреса сайта, а не DNS-имени, но не для всех остальных.

Я пробовал изменить конфигурацию на Эта статья, это не исправило.

Любые идеи?

У меня была похожая ситуация с клиентом. Контроллеры домена были неправильно настроены (в режиме NT4), а в IE был отмечен параметр «Включить встроенную безопасность Windows».

Что делает IE в режиме встроенной безопасности Windows, так это то, что он пытается выполнить запрос с помощью билета AD / Kerberos в режиме Windows 2000+. Когда веб-серверу не удается аутентифицировать билет, он не возвращается к NTLM.

У вас есть 3 варианта.

  1. Выясните, что не так с вашей настройкой AD. Возможно, у вас все контроллеры домена исправны, а ваш веб-сервер не в порядке. Эта статья базы знаний устарела, но может помочь http://support.microsoft.com/kb/326985 .
  2. Переключите IIS в режим только NTLM. Для этого вам понадобится взломать метабазу. На самом деле это довольно просто сделать, но вы не хотите использовать NTLM, если вам не нужно, поскольку он медленнее и менее безопасен, чем Kerberos.
  3. Снимите флажок «Встроенная безопасность Windows» в IE. Вы тоже не хотите этого делать, потому что это может нарушить работу других веб-приложений в вашей сети.

К сожалению, в моей ситуации мне пришлось выбрать вариант №2 из-за вовлеченного эго, но он работал исключительно хорошо.

Просто подумайте вслух, но находятся ли клиентские машины в домене или в рабочей группе?
(Да, если бы у меня была эта репутация бы быть комментарием!)