Невозможно войти на защищенные страницы проверки подлинности Windows, находясь на сервере
У меня есть общедоступный веб-сервер (Windows Server 2008, IIS 7) с веб-сайтом, который разрешает анонимный доступ. У меня есть подкаталог на этом сайте, который я защитил, отключив анонимную аутентификацию и включив аутентификацию Windows.
Работая удаленно, у меня нет проблем со входом в любой браузер, чтобы увидеть эти защищенные страницы, используя:
имя пользователя (без домена)
пароль
Но... когда возникает ошибка времени выполнения ASP.NET, мне нужно запустить на сервере, чтобы увидеть ошибку. Вот проблема: по какой-то причине я не могу войти на эти защищенные страницы под управлением IE8 на сервере. Откроется диалоговое окно входа в систему, но ни один вход /pw не работает ни в одном из вариантов, которые я пробовал. Что мне здесь не хватает? Какой формат ищет сервер?
Редактировать: имя пользователя / пароль это просто логин Windows.
3 ответа
Это вызвано петлевой проверкой, которая по умолчанию включена, начиная с Windows Server 2003 SP1. По сути, он выполняет дополнительную проверку и блокирует ваш запрос проверки подлинности Windows на работу на той же (петлевой) машине.
Вы можете отключить его, следуя инструкциям в этой статье базы знаний: http://support.microsoft.com/kb/896861.
Вопреки тому, что говорит док, вам не нужно перезагружаться, чтобы IE заметил. Это будет работать сразу. Вот инструкции, которым вы можете следовать (так же, как в статье KB)
- Нажмите кнопку Пуск, введите regedit и нажмите кнопку ОК.
- В редакторе реестра найдите и выберите следующий раздел реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- Щелкните правой кнопкой мыши Lsa, выберите пункт "Новый", а затем нажмите "Значение DWORD".
- Введите DisableLoopbackCheck и нажмите клавишу ВВОД.
- Щелкните правой кнопкой мыши DisableLoopbackCheck и выберите команду Изменить.
- В поле "Значение" введите 1 и нажмите кнопку "ОК".
Проверьте свою страницу еще раз на локальной машине. Это должно работать для вас на данный момент.
Вы можете попробовать другой браузер на сервере, чтобы узнать, есть ли у вас одна и та же ошибка аутентификации, вы можете быстро протестировать ее с помощью переносимых версий Firefox / Chrome / Opera: http://portableapps.com/apps/internet
В какой зоне безопасности IE находится URL приложения? Вы пытались поместить URL в зону интранета? или вы пытались форсировать NTLM в локальной политике безопасности? См. Здесь: Невозможно войти на защищенные страницы проверки подлинности Windows, находясь на сервере). Посмотрите эту ветку, которая звучит как проблема, с которой вы столкнулись https://stackoverflow.com/questions/2563445/why-does-integrated-windows-authentication-fail-when-clients-access-off-the-netwo
Включена ли конфигурация усиленной безопасности?
Один из способов обойти проблему - использовать ssh для пересылки трафика на вашу рабочую станцию.
Используйте это как руководство по настройке туннеля SSH: http://www.commandlinefu.com/commands/view/55/start-a-tunnel-from-some-machines-port-80-to-your-local-post-2001