Ошибка 500.19 в IIS7 при возникновении ошибки
-
20-09-2019 - |
Вопрос
Настраивать:Windows 7, IIS7.Я работаю над приложением, которое просматривается через локальный сервер IIS, а не через встроенный веб-сервер отладки.Итак, мой URL-адрес приложения http://localhost/foo/bar.aspx
.Есть нет <customErrors>
в моем web.config, и я не менял никаких настроек в IIS.
Если возникает какая-либо ошибка, я всегда получаю следующий экран ошибки:
Ошибка HTTP 500.19 — внутренняя ошибка сервера
Абсолютный физический путь»C:\inetpub\custerr
"не допускается вsystem.webServer/httpErrors
раздел в файле web.config.Вместо этого используйте относительный путь.
Вот мой applicationhost.config
содержание:
<httpErrors errorMode="Custom" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
<error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" />
<error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" />
<error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" />
<error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" />
<error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" />
<error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" />
<error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" />
<error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" />
<error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" />
</httpErrors>
Как мне избавиться от этой ошибки конфигурации, чтобы увидеть подробные ошибки?
Решение
Последние несколько дней я занимался этой проблемой и нашел решение.Файл Web.Config, скорее всего, указывает абсолютный путь к одной из страниц ошибок.Это может быть не Web.Config тестируемого приложения.Для меня это был файл Web.Config веб-сайта.
Если вы обнаружите файл Web.Config, вызывающий нарушение, вы можете удалить абсолютный путь, и проблема должна быть устранена.
Гораздо более простым решением было бы изменить ApplicationHost.Config файл для установки
allowAbsolutePathsWhenDelegated
собственностьtrue
:<httpErrors allowAbsolutePathsWhenDelegated="true" errorMode="Custom" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
Другие советы
У меня была такая же проблема, когда я установил службы сертификации Active Directory на контроллер домена.Оба они использовали порт 443.Я изменил один для служб сертификации на IP-адрес сервера и оставил сервер обмена неназначенным.Это решило мою проблему.
У меня была такая же проблема в IIS 8.5.Исправление заключалось в удалении всех записей в файле web.config (расположенном в корневом каталоге веб-сайта), которые ссылались на пользовательские страницы ошибок.Записи были созданы системой, когда я пытался внести изменения в пользовательские страницы.
Что помогло мне устранить эту ошибку, так это установка allowAbsolutePathsWhenDelegated
к истине.
Идти к IIS > Редактор конфигурации > в Типе раздела:system.webServer/httpErrors и установить allowAbsolutePathsWhenDelegated
к истинный.Перезагрузить IIS для хорошей меры.