我在iis 6网站上遇到了间歇性的应用程序池崩溃问题。我已经确定了导致此问题的请求来自Googlebot,请求如下(取自httperr日志)
HTTP / 1.1 GET /Folder/PageName.html?iframe=true&width=95%&height=95%
请求的页面发生了变化,但Querystring是一致的。
我尝试将代码添加到global.asax.cs以去除这些无效的查询字符串,但是在查询代码之前,查询字符串似乎会导致“Connection_Abandoned_By_AppPool”。
显然我需要先处理这个问题,但我真的不确定在哪里?
答案 0 :(得分:0)
这个答案应该告诉你如何处理字符,从而引导你做你需要做的事情,它是为IIS 7编写的,但也适用于IIS6,https://serverfault.com/questions/257680/properly-handle-iis-request-with-percent-sign-in-url/258759#258759
此外,您可能希望在服务器故障中就此主题领域提出问题,因为受众可能会更好地为您提供帮助。
答案 1 :(得分:0)
继续我的研究我发现我的网络服务器使用的Parallels Plesk 8.6软件包含一个名为urlprotect.dll的ISAPI过滤器,它基本上只允许站点上的某些URL受密码保护。
默认情况下,此ISAPI过滤器(至少在此版本的Plesk中)应用于服务器上的所有网站,即使您未定义任何受保护的URL。
这是导致无法处理URL中未转义百分号的原因。
我在此论坛帖子(http://forum.parallels.com/showthread.php?t=83376)上发现了这些信息,这也表明dll的问题没有成功解决。
如果您不需要以这种方式保护任何URL,那么我的经验是可以通过IIS安全地从网站中删除它而不会产生任何不良影响。