Определенный IIS7 / 7.5 500.19
ошибки конфигурации отображаются только в браузере, работающем на локальном сервере.
Это происходит независимо от того, установил ли я <httpErrors errorMode="Detailed" existingResponse="PassThrough" />
в system.webServer
раздел сайта web.config
файл (или даже глобально в этом отношении).
Например, у меня был разработчик, который сообщил, что он просто получил общую страницу с ошибкой IIS7 500:
Это происходило, несмотря на то, что в его web.config
:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" existingResponse="PassThrough" />
</system.webServer>
</configuration>
Если я захожу на сайт на самом сервере, я вижу (некоторая конфиденциальная информация удалена):
Причина этого в том, что если web.config
содержит ошибки, поэтому не может быть проанализирован. Потому что он не может быть проанализирован локальным <httpErrors>
параметр не читается и, таким образом, приводит к тому, что IIS возвращается к настройкам по умолчанию (например, DetailLocalOnly)?
Обновить:
@LazyOne - предложил установить вышеуказанный конфиг на уровне сервера, который я уже пробовал. В результате было получено всего 500 ошибок:
Покопавшись еще немного, я придумал, как получить 500.19
ошибки появляться удаленно, даже если сайт web.config
затирается.
Хитрость заключается в том, чтобы установить (глобально) errorMode="Detailed"
и existingResponse="Replace"
.
В existingResponse="Replace"
настройка немного интуитивно понятна, но имеет смысл.