#asp.net #iis
#asp.net #iis
Вопрос:
Я в курсе обычных причин этой проблемы, но что не так с этим URL?
http://res02.img.mem.com/individual/assets/2/2/7/1/2291722/20081027_112706_07.jpg?width=100
Большую часть времени запрос, кажется, выполняется правильно, но каждые несколько часов сервер регистрирует несколько (1-3) из этих ошибок и начинает возвращать ошибку 503 с каждым запросом.
Я бы не возражал против предупреждений, но это хронологически совпадает со сбоем сервера. Приложение чрезвычайно простое, просто возвращает и изменяет размер изображений из SAN. Другой сервер с тем же программным обеспечением работает правильно. (и указанное программное обеспечение поддерживает тысячи других веб-сайтов, многие из которых работают на фермах серверов).
Разница в том, что этот сервер имеет FNCMode=2 для предотвращения ASP.NET от создания миллионов наблюдателей файловой системы по всей сети до мониторинга SAN, в котором находится приложение (и изображения). (Чтобы избежать ошибок BIOS Command Limit reached).
Я даже проанализировал аварийный дамп с WinDbg и SOS безрезультатно.
Идеи? Я знаю, что я представляю здесь потенциально две отдельные проблемы, но они хронологически связаны.
A potentially dangerous Request.Path value was detected from the client (?).
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Request information:
Request URL: http://res02.img.mem.com/individual/assets/2/2/7/1/2291722/20081027_112706_07.jpg?width=100
Request Path: /individual/assets/2/2/7/1/2291722/20081027_112706_07.jpg?width=100
User host address: 174.37.137.143
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOLASP.NET v4.0
Thread information:
Thread ID: 32
Thread account name: IIS APPPOOLASP.NET v4.0
Is impersonating: False
Stack trace: at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Ответ №1:
Оказывается, проблемы не были связаны. В нескольких URL-адресах запросов вопросительный знак был закодирован в URL, в результате чего он анализировался как часть пути вместо строки запроса. После декодирования URL запрос был перехвачен проверкой запроса.
Проблемы с сбоями, похоже, связаны с ошибкой потоковой передачи IIS, но мы все еще отлаживаем это с помощью MS.