Подтвердить что ты не робот

Ошибка 500.19 в IIS7 при возникновении ошибки

Настройка: Windows 7, IIS7. Я работаю над приложением, которое просматривается через локальный сервер IIS, а не встроенный веб-сервер отладки. Поэтому мой URL-адрес приложения http://localhost/foo/bar.aspx. В моем web.config нет раздела <customErrors>, и я не изменил никаких параметров в 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>

Как я могу избавиться от этой ошибки конфигурации, чтобы увидеть подробные ошибки?

4b9b3361

Ответ 1

Я занимался этой проблемой в течение последних нескольких дней и нашел решение. Файл Web.Config скорее всего укажет абсолютный путь для одной из страниц ошибок. Это не может быть Web.Config приложения, которое вы тестируете. Для меня это был файл веб-сайта Web.Config.

  • Если вы обнаружите оскорбительный файл Web.Config, вы можете удалить абсолютный путь, и проблема должна быть исправлена.

  • Намного проще было бы изменить файл ApplicationHost.Config, чтобы установить свойство allowAbsolutePathsWhenDelegated в true:

    <httpErrors allowAbsolutePathsWhenDelegated="true" errorMode="Custom" 
                lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
    

Ответ 2

У меня была такая же проблема, когда я установил службы сертификации Active Directory на контроллер домена. Оба они использовали порт 443. Я меняю один для служб сертификатов на IP-адрес сервера и оставляю неназначенный сервер обмена. Это решило мою проблему.

Ответ 3

У меня была такая же проблема в IIS 8.5. Исправлено удаление любых записей в файле web.config(расположенном в корневом каталоге веб-сайта), который ссылался на страницы пользовательских ошибок. Записи были созданы системой, когда я попытался внести изменения в пользовательские страницы.

Ответ 4

Что помогло мне решить эту ошибку, установите для параметра allowAbsolutePathsWhenDelegated значение true.

Перейдите в IIS > Редактор конфигурации > в разделе Тип: system.webServer/httpErrors и установите allowAbsolutePathsWhenDelegated на true. Reset IIS для хорошей оценки.