Маршрутизация запросов приложений Microsoft с аутентификацией Windows

Я столкнулся с проблемой, пытаясь заставить Windows Authentication работать в среде, которая использует Microsoft Application Request Routing, и надеялся, что кто-то сможет помочь.

Проблема, с которой я сталкиваюсь, состоит в том, что только некоторые запросы проходят проверку подлинности, в то время как другие терпят неудачу с ошибками 401. Я следовал особому случаю запуска IIS 7.0 в инструкциях веб-фермы, которые можно найти по адресу http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for-kerberos-authentication-with-iis-7-0.aspx безрезультатно.

Моя текущая настройка сервера выглядит следующим образом:

ARR

  • Два сервера, настроенные с общей конфигурацией IIS с использованием IIS 7.5 в Windows 2008 R2
  • Анонимная проверка подлинности включена для веб-сайта по умолчанию

Веб-ферма

  • Два сервера под управлением IIS 7.5 в Windows 2008 R2
  • Три веб-сайта настроены с использованием привязки портов для различения виртуальных хостов. Используемые порты: 8000, 8001 и 8002.
  • Все пулы приложений для проверки подлинности Windows используют общую учетную запись домена
  • SPN добавлен в учетную запись домена для http/<virthalhost-name>:<port-number> а также http/<virtualhost-name>.<fully-qualified-domain>:<port-number>

Журналы IIS показывают следующее, когда аутентификация работает / не удается. Если я правильно понимаю, все запросы должны показывать DOMAIN\User_Name:

2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/stylesheets/techweb.landing.css - 8002 DOMAIN\User_Name ARR-HOST-1-IP-ADDRESS 200 0 0 62
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-right.gif - 8002 - ARR-HOST-1-IP-ADDRESS  401 2 5 0
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-left.gif - 8002 DOMAIN\User_Name ARR-HOST-IP-ADDRESS 200 0 0 31
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 2 5 0
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 2148074248 0
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/application-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 2148074248 0
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-right.gif - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 3221225581 15
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/building.gif - 8002 DOMAIN\User_Name ARR-HOST-2-IP-ADDRESS 200 0 0 218

Кто-нибудь знает, что может вызвать эту проблему и как я могу решить ее?

РЕДАКТИРОВАТЬ

Я вижу, что заголовки согласования отправляются на серверы всякий раз, когда я выполняю захват сети.

Первый запрос /home :

Запрос

Ничего такого

отклик

Proxy-Support: Session-Based-Authentication
WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate

Второй запрос /home :

Запрос

Authorization: Negotiate YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAY....

отклик

Proxy-Support: Session-Based-Authentication
WWW-Authenticate: Negotiate oRUwE6ADCgEDoQwGCisGAQ....

Третий (и последний) запрос /home :

Запрос

Authorization: Negotiate oTMwMaADCgEBoioEKE5UTE1TU1AAAQAAAJe....

отклик

Proxy-Support: Session-Based-Authentication
WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate

После третьего запроса я получаю страницу 401 от IIS.

1 ответ

Решение

Получите захват сетевых пакетов неудавшихся запросов и проверьте заголовок запроса Http для маркера аутентификации kerberos. Если вы ожидаете токен Kerberos, а его нет, возможно, проблема не в ваших серверах.

Я предполагаю, что вы ожидаете Kerberos из-за контрольного списка SPN.

Обратитесь к следующему для получения дополнительной информации:

/questions/15887/kak-ya-mogu-proverit-ispolzuet-li-moj-sajt-iis-ntlm-ili-kerberos/15892#15892

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