У меня странная проблема с IIS7, работающим в Windows 2008 (контроллер домена).
У нас есть веб-сайт, и мы настроили использовать только «проверку подлинности Windows». Итак, все остальные методы аутентификации отключены.
Когда сервер Windows перезагружался, пользователи не могли войти в систему и получили ошибку 401.
Но если я перезапущу сервер IIS, он будет работать нормально ... до следующей перезагрузки.
Вот логирование, когда не работает. Я тестировал с "localhost", авторизовавшись прямо на сервере:
#Date: 2012-10-26 09:06:00
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2012-10-26 09:06:00 10.224.14.147 HEAD / - 80 - 10.224.15.85 - 401 2 5 855
2012-10-26 09:06:20 10.224.14.147 HEAD / - 80 - 10.224.15.85 - 401 2 5 0
2012-10-26 09:06:50 10.224.14.147 HEAD / - 80 - 10.224.15.85 - 401 2 5 1
2012-10-26 09:07:20 10.224.14.147 HEAD / - 80 - 10.224.15.85 - 401 2 5 0
2012-10-26 09:07:31 127.0.0.1 GET /service.dll - 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.30729;+.NET+CLR+3.5.30729) 401 2 5 129
Как вы можете видеть выше, похоже, что IIS7 получил «анонимную» аутентификацию.
Когда это сработает, после перезапуска IIS7:
#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2012-10-26 09:12:11
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2012-10-26 09:12:11 127.0.0.1 GET /service.dll - 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.30729;+.NET+CLR+3.5.30729) 401 2 5 339
2012-10-26 09:12:11 127.0.0.1 GET /service.dll - 80 THESERVER\John 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.30729;+.NET+CLR+3.5.30729) 200 0 0 315
Как вы можете видеть выше, IIS7 подобрал учетную запись THESERVER \ John, которая получила доступ.
Кто-нибудь мог подумать о возможной проблеме?
Похоже, проблема с запуском IIS до входа в сеть.
Первое, что вам следует сделать, это попробовать настроить IIS на отложенный запуск, а в противном случае вы можете создать быстрый сценарий для перезапуска IIS через минуту или две после загрузки машины. Хакерский, но эффективный.