Назад | Перейти на главную страницу

IIS 7.5 Один пул приложений работает, второй не работает

У меня есть веб-сайт (Alpha), успешно работающий на веб-сервере IIS 7.5 под управлением Windows Server 2008 R2.

Я в основном хочу клонировать Alpha и иметь второй веб-сайт Beta, такой же, как Alpha, но с несколько другим кодом. Я создал второй веб-сайт, а также создал второй пул приложений. Насколько я могу судить, два пула приложений настроены одинаково: автозапуск, v4.0, интегрированный, Identity: ApplicationPoolIdentity.

Второй веб-сайт (бета) не работает, если я подключаю его к собственному пулу приложений, но работает нормально, если я подключаю его к пулу приложений Alpha. Насколько я помню, я не делал ничего особенного с пулом приложений Alpha. Насколько я могу судить, расширенные настройки одинаковы для обоих.

Ошибка бета-версии при подключении к собственному пулу приложений - это необработанное исключение: Сведения об исключении: System.Data.SqlClient.SqlException: Ошибка входа для пользователя NT AUTHORITY \ ANONYMOUS LOGON

Приветствуются любые идеи о том, как сравнить два пула приложений или отладить систему в целом.

Я попытался удалить пул приложений бета-версии и воссоздать его.

Вы изменили учетную запись, под которой работает пул Alpha, но забыли изменить пул Beta.

Таким образом, бета-версия пула все еще работает под сетевым сервисом по умолчанию (учетная запись компьютера), у которого нет прав на вашу базу данных.

Редактировать:

Другая вероятная причина заключается в том, что вам не хватает MS HotFix KB2545850, что, по-видимому, вызовет эту проблему случайным образом. Видеть http://support.microsoft.com/kb/2545850

Дополнительные сведения см. В этой базе знаний, где также показано, как можно воспроизвести и подтвердить, что это является причиной. http://support.microsoft.com/kb/2672809

Вы подключаетесь к SQL-серверу со встроенной безопасностью, верно? Кажется, что второй идентификатор пула не имеет доступа к вашему SQL-серверу / базе данных.

Используя ApplicationPoolIdentity, ваше приложение подключается к SQL-серверу примерно так:

IIS AppPool\AppPoolName

убедитесь, что оба удостоверения пула приложений имеют доступ к вашему серверу и соответствующей базе данных.

Я мог бы создать группу Windows, чтобы поместить в нее различные удостоверения пула приложений, а затем предоставить этой группе Windows доступ к вашей базе данных.

Также проверьте это вопрос, который, похоже, решает аналогичную проблему и предлагает перезагрузить сервер.