У меня очень простой сайт с только статическими файлами в IIS 7 на Windows Server 2008 SP2.
Когда я пытаюсь получить доступ к любому статическому файлу, я получаю ошибку 500. Если я переименую HTML-файл, чтобы иметь расширение aspx, он работает нормально.
Сайт также работает нормально при использовании встроенного удостоверения для пула приложений. Проблема возникает, когда я переключаюсь на использование настраиваемой учетной записи для пула приложений. Я пытался использовать как локальные, так и доменные учетные записи для запуска пула приложений под.
Я дал полный контроль над этими учетными записями на веб-сайте каталога и файлов.
При включении трассировки появляется следующее сообщение об ошибке:
ModuleName: IIS Web Core
Notification: 2
HttpStatus: 500
HttpReason: внутренняя ошибка сервера
HttpSubStatus: 0
ErrorCode: 2147943746
ConfigExceptionInfo
Notification: AUTHENTICATE_REQUEST
ErrorCode: либо не был предоставлен требуемый уровень олицетворения, либо предоставлен уровень олицетворения, либо является недействительным. (0x80070542)
Мне не повезло с поиском кода ошибки.
источник
Вы можете попытаться изменить пул приложений для этого виртуального приложения и предоставить для этого нового пула личные разрешения.
чтобы дать разрешения для определенного пула просто дайте разрешения для пользователя "IIS APPPOOL \ YOUR_POOL_NAME"
источник
В дополнение к ответу Брауни (это правильно, вы должны предоставить это право учетной записи пула приложений); если IIS отправляет вам эту ошибку, когда вы вызываете ее с помощью клиента WCF (+ IIS-аутентификация включена в IIS), это может быть связано с тем, что флаги маркера NTLM, данного IIS, не позволяют ему выдавать себя за вызывающего.
Измените конфигурацию вашего клиента из этого (по умолчанию):
К этому:
Проверьте эту статью для деталей: Олицетворение и Делегирование в WCF
источник