Маршрутизация запросов приложений 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