我们有大约 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 步骤,布尔值&completedSynchronously)
服务器 URL 损坏
/WebResource.axd?d=S6kjkBsrIKni9uO5HCkv0c8eYObzibWXn9R6A7Yr_Fy7CW4dRFZm1HfcnUTEZ8xBYZDM-5zeTVk1tTgC1hp7d5YYw3o1&t=634308186300177825
所有其他服务器 URL
/WebResource.axd?d=yj6PW1hbOvqhMkOh2gYGlw2&t=634207187366247462
我检查了每台服务器的 web.config、machine.config,它们都是相同的。到目前为止能够发现的唯一区别是,在问题开始之前,服务器已被修补,之后,有问题的服务器看起来使用了与其他服务器不同版本的 System.Web.dll?
有任何想法吗?
找到了问题的根本原因。问题服务器应用了安全补丁,更新了 System.Web.dll。由于某种原因,我们的托管提供商没有更新任何其他 dll,而该服务器又生成了与其他服务器不同的加密密钥。
为了确定哪个 dll 受到影响,我使用以下命令来解密 webresource.axd 查询字符串参数:
http://blogs.telerik.com/aspnet-ajax/posts/07-03-27/debugging-asp-net-2-0-web-resources-decrypting-the-url-and-getting-the-resource-名称.aspx http://blogs.telerik.com/aspnet-ajax/posts/07-03-27/debugging-asp-net-2-0-web-resources-decrypting-the-url-and-getting-the-resource-name.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)