Отключение ответа об ошибке сервера IIS 7.5 для кодов состояния HTTP 5xx и 4xx

Есть ли способ предотвратить автоматическое переопределение IIS вывода веб-приложения, которое возвращает код состояния в диапазоне 500 или 400?

В качестве примера, в ColdFusion я могу создать следующую страницу:

<cfheader statuscode="500" statustext="Error">
Sorry, an error occurred.

Поведение должно быть таким, что я вижу страницу с надписью "Извините, произошла ошибка". и посмотрите в заголовках, что код состояния 500.

Вместо этого я вижу:

Server Error
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

В прекрасном стиле IIS.

Я попытался просто удалить 500 пользовательских страниц состояния, но это просто привело к:

The page cannot be displayed because an internal server error has occurred.

Без какого-либо прекрасного стиля.

Похоже, это происходит с любой страницей, которая возвращает код, который не находится в диапазоне 200 или 300.

3 ответа

Решение

На этот вопрос ответил другой вопрос: IIS7 Hijacks My Coldfusion Страница ошибок

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

    <httpErrors existingResponse="PassThrough" />

Таким образом, решение состоит в том, чтобы изменить поведение IIS, что является удачным, поскольку требовать от каждого существующего сервера веб-приложений изменения их поведения было бы действительно глупо.

Обновить

Пожалуйста, посмотрите мой обновленный ответ в другом подобном вопросе, чтобы узнать, почему и как нет действенного ответа на эту проблему.

Существует, очевидно, способ сделать это с помощью Response.TrySkipIisCustomErrors. Приведенный ниже пример взят со страницы aspx, но должен быть адаптирован к вашему варианту использования.

Этот следующий веб-контент слишком обширный, чтобы дублировать его здесь.

http://www.west-wind.com/weblog/posts/2009/Apr/29/IIS-7-Error-Pages-taking-over-500-Errors

Вот что определенно работает: 1. Откройте страницы ошибок для веб-сайта или приложения. 2. Нажмите "Изменить параметры" в действиях справа. 3. Выберите "Подробные ошибки" и сохраните.

Другие вопросы по тегам