Вопрос

Настраивать: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 веб-сайта.

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

  2. Гораздо более простым решением было бы изменить 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 для хорошей меры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top