Я заметил странное поведение на страницах ошибок 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 не добавлял нежелательные данные на страницу ошибок? Потому что это нарушает весь механизм страницы пользовательских ошибок.