Ошибка HTTP 500.0 в StaticFile при использовании пользовательского удостоверения для AppPool

У меня есть веб-приложение MVC4, развернутое на сервере Windows 2012 R2 с IIS 8.5. Я настроил пул приложений для работы с учетной записью личного домена, потому что веб-приложению необходимо вызвать другой веб-сервис в сети с включенной проверкой подлинности Windows.

Когда я пытаюсь перейти на страницу из своего браузера, я получаю много ошибок «500» для моих файлов .css, .js. Когда я пытаюсь перейти непосредственно к одному из этих файлов, я получаю страницу «Ошибка HTTP 500.0 - Внутренняя ошибка сервера» вместо содержимого скрипта или CSS. Я пробовал с простым файлом .txt и получаю ту же ошибку.

Подробная информация об ошибке:

  • Модуль: IIS Web Core
  • Уведомление: AuthenticateRequest
  • Обработчик: StaticFile
  • Код ошибки: 0x80070542
  • Запрошенный URL: http: // {hostname}: 8082 / test.txt
  • Физический путь: C: \ inetpub \ wwwroot \ aaa \ test.txt
  • Метод входа в систему: переговоры
  • Пользователь для входа: {DomainName} \ {MyUserLogin}

На сервере я дал полные разрешения NTFS «Всем» для всей папки C: \ inetpub \ wwwroot \ aaa и дочерних папок.

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

Однако, если я открываю веб-страницу непосредственно с сервера с localhost, все работает нормально.

Так что у меня здесь заканчиваются идеи. Какие-либо предложения ?

Спасибо !


comment
В качестве теста, все ли работает, если вы используете LocalSystem для удостоверения пула приложений? В противном случае это похоже на проблему конфигурации. Возможно, на сервере установлены не все функции и роли.   -  person Rick S    schedule 04.06.2014
comment
Спасибо за предложение. Но это не сработает, потому что позже веб-приложению потребуется вызвать другой веб-сервис, а у LocalSystem не будет достаточных прав для доступа к нему.   -  person Yann    schedule 04.06.2014
comment
Но я кое-что нашел, если я изменю режим управляемого конвейера пула приложений с интегрированного на классический, все будет работать. Пытаюсь понять разницу между этими двумя словами: stackoverflow.com/questions/716049/   -  person Yann    schedule 04.06.2014


Ответы (2)


Я нашел ответ на свою проблему (идентичный, но с использованием метода входа в систему: анонимный) здесь: Ошибка несанкционированного доступа к HTML-страницам в IIS 7.0

По сути: «После некоторой борьбы я обнаружил, что в диспетчере IIS-> Мой сайт-> Аутентификация-> Анонимная аутентификация-> Изменить идентификатор, используемый для анонимной аутентификации, был установлен для определенного пользователя по умолчанию (IUSR). идентификатор пула приложений исправил это для меня "

введите описание изображения здесь

person Dalek Control    schedule 07.02.2017

у меня это работает и в IIS 10. Спасибо!

кстати, я также нашел другое решение от https://serverfault.com/questions/50160/500-error-when-using-custom-account-for-application-pool-in-iis-7 Сработало, спасибо! Но, кроме того, вот как это сделать пошагово для таких чайников, как я: Пуск ›Локальный› Политика безопасности ›Локальные политики› Назначение прав пользователя ›Выдача себя за клиента после аутентификации› Добавить пользователя или группу ... ›Выберите IIS_IUSRS - Wowe I не смог попробовать эту альтернативу из-за отсутствия разрешения

person Huky    schedule 06.01.2021