2016-06-22 2 views
0

У меня есть сайт интрасети, который использует проверку подлинности Windows. Через AJAX он использует веб-службу в том же домене, который также использует проверку подлинности Windows. Я использую ARR только как обратный прокси-сервер (без балансировки нагрузки), и я пытаюсь передать аутентификацию Windows через веб-службу.ARR не может пройти через проверку подлинности Windows

Обратный прокси-сервер отлично работает с базовой аутентификацией, но не с проверкой подлинности Windows.

Моя физическая установка - это один сервер Windows 2008 R2 с веб-сайтом, службой веб-API и ARR, все на одном сервере. Я ничего не добавил в серверной ферме, потому что все на одной машине.

Я установил веб-сайт и службу веб-API только для проверки подлинности Windows, а сервер и веб-сайт по умолчанию разрешают анонимность (несколько статей говорят, что ARR должен использовать анонимный). Я установил useAppPoolCredentials = true в конфигурации сайта IIS, где установлена ​​проверка подлинности Windows.

Я попытался ограничить поставщиков аутентификации только NTLM, чтобы избежать осложнений Kerberos/SPN, и я также попытался включить Negotiate, поэтому Kerberos будет использоваться.

Для Kerberos я настроил SPN для сервера NetBIOS и FQDN, а также FQDM веб-сайта и веб-сервиса, используя учетную запись одного домена, используемую как идентификатор пула приложений, с помощью ARR, внешнего веб-сайта и внутренней веб-службы. (например: setspn -s HTTP/домен/учетная запись)

Я могу перейти непосредственно к внутренней веб-службе, и моя проверка подлинности на компьютере прошла успешно, но если я использую веб-сайт, перезаписанный запрос веб-службе получит ошибку 401.1. В Fiddler я вижу три запроса из моего браузера на внешний веб-сайт. Последние два имеют мою проверку подлинности Windows в заголовке. На сервере журнал IIS для внутренней веб-службы не отображает информацию об учетной записи Windows в запросе.

Почему ARR не сможет передать мои учетные данные для Windows?

ответ

0

Контекст IIS для прокси-сервера ARR не должен использовать проверку подлинности Windows. Он должен быть установлен на анонимный. Прокси-сервер может использовать проверку подлинности Windows.