IIS httpErrors ExecuteURL добавляет странную строку запроса, например, 500; http: //mysite.com/failed-page к целевому URL

8

Я заметил странное поведение на страницах ошибок IIS. У меня есть эта настройка:

<httpErrors errorMode="Custom" existingResponse="Replace">
 <remove statusCode="500" />
  <error statusCode="500" responseMode="ExecuteURL" path="/error-page" />
</httpErrors>

Иногда, когда ошибка ASP.NET возникает из-за слишком длинной строки запроса, сразу же возникает вторая ошибка при попытке выполнить URL страницы ошибки. Я отследил проблему с тем фактом, что IIS добавляет исходный URL к URL-адресу страницы ошибки, например:

Original: http://example.com/someurl?id=some_very_long_query_string_causing_security_exception
Error: /error-page?500;http://example.com/someurl?id=some_very_long_query_string_causing_security_exception

Это огромная проблема. Если исходный URL не может иметь слишком длинную строку запроса, то страница с ошибкой с добавленным материалом также не работает, потому что у нее есть строка запроса, которая еще длиннее!

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

кролик
источник
Сэр, я столкнулся с той же проблемой. Вы решили это?
Денис
1
+1 Я задал тот же вопрос о StackOverflow здесь . Хотелось бы ответить.
Мухаммед Рехан Саид

Ответы:

1

Добавление косой черты к пути (например, path = "/ error-page /") остановит добавление кода ошибки и URL-адреса, обратите внимание, что он сохранит исходный ошибочный URL-адрес, например

mitchjhill
источник
0

У меня похожая проблема давным-давно, рассматриваемая система использует статические страницы с ошибками из-за этого.

Вы можете установить это в defaultResponseMode в файл, который будет обслуживать одну статическую страницу.

Схема настроек элемента IIS httpErrors

Здесь также есть похожая проблема

RickWeb
источник