WebResource.axd выбрасывает исключения в веб-ферму
У нас есть массив из около 12 серверов, обслуживающих веб-сайт. За последние несколько часов один сервер начал генерировать исключения для запросов WebResource.axd и ScriptResource.axd.
исключение
System.Web.HttpException - это неверный запрос ресурса скрипта.
Трассировки стека
в System.Web.Handlers.ScriptResourceHandler.ProcessRequest (контекст HttpContext)
в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
в System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep, логический и завершен синхронно)
Неработающий URL сервера
/WebResource.axd?d=S6kjkBsrIKni9uO5HCkv0c8eYObzibWXn9R6A7Yr_Fy7CW4dRFZm1HfcnUTEZ8xBYZDM-5zeTVk1tTgC1hp7d5YYw3o1&t=634308186300177825
URL всех остальных серверов
/WebResource.axd?d=yj6PW1hbOvqhMkOh2gYGlw2&t=634207187366247462
Я проверил web.config, machine.config для каждого сервера, и все они идентичны. Единственное различие, которое удалось найти до сих пор, заключается в том, что до начала проблемы серверы были исправлены, после чего проблемный сервер, похоже, использует другую версию System.Web.dll для других?
Есть идеи?
2 ответа
Нашел основную причину проблемы. На проблемном сервере было применено исправление безопасности, которое обновило System.Web.dll. По какой-то причине наш хостинг-провайдер не обновил ни одну из других библиотек, и в свою очередь этот сервер генерировал другие ключи шифрования для других.
Чтобы определить, какая DLL была затронута, я использовал следующее для расшифровки параметров строки запроса webresource.axd:
"? D =yj6PW1hbOvqhMkOh2gYGlw2&t=634207187366247462" является ссылкой (как-то, что-то вроде хэша или чего-то еще?) На ресурс в system.web.dll, так что по разным причинам на этом сервере эта dll недействительна.