搜索引擎的BOT引发的IIS Crash问题。

  • Post author:
  • Post category:其他


问题出处:站点

www.114study.com

的系统日志里经常记录如下的错误:

在仔细检查了页面的链接地址和所有相关的文件里的地址后,没有任何地方使用了类似”..”这样的符号表示路径.

而且这样的问题发生的频率非常频繁,大部分都在5分钟内发生若干次,直接的后果就是经常引发IIS的进程回收,使站点的访问异常缓慢。

在尝试提高快速失败保护的失败数后,仍然无法完全解决这个问题。于是开始仔细研究引发问题的IP地址,发现基本上都是来自于搜索引擎的BOT…

在经过了搜索之后,于地址

http://todotnet.com/archive/2006/07/01/7472.aspx

发现了答案。

详细阐述如下:

1.该问题出现在使用了UrlRewriter的ASP.NET 2.0站点.服务器端软件环境为

.net Framework 3.5 | IIS6.0 | Windows Server 2003 Enterprise Edition + SP2

2.问题发生的原因:GoogleBot 以及各大搜索引擎厂商的BOT使用的UserAgent发生了变化



GoogleBot的最新版本为:Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)




按照文章里阐述的原因,就是这里的Mozilla/5.0引发了使用了UrlRewriter的错误.


3.解决方案: 在使用了UrlRewriter的站点的根目录下添加如下文件夹 App_Browsers


在文件夹里增加如下的文件





重点是修改这个 <userAgent match=”Googlebot” />

这里出现的match最好是每一个 BOT 的标志性名称。

当你在站点下存放了这些文件后,类似的错误就将不再出现。

举GoogleBot.Browser为例:

<browsers>

<browser id=”Googlebot” parentID=”Mozilla”>

<identification>

<userAgent match=”Googlebot” />

</identification>

<capabilities>

<capability name=”browser” value=”Googlebot/2.1″ />

<capability name=”Version” value=”4.0″ />

<capability name=”MajorVersion” value=”4″ />

<capability name=”MinorVersionString” value=”” />

<capability name=”MinorVersion” value=”.0″ />

<capability name=”activexcontrols” value=”true” />

<capability name=”backgroundsounds” value=”true” />

<capability name=”cookies” value=”true” />

<capability name=”css1″ value=”true” />

<capability name=”css2″ value=”true” />

<capability name=”ecmascriptversion” value=”1.2″ />

<capability name=”frames” value=”true” />

<capability name=”javaapplets” value=”true” />

<capability name=”javascript” value=”true” />

<capability name=”jscriptversion” value=”5.0″ />

<capability name=”supportsCallback” value=”true” />

<capability name=”supportsFileUpload” value=”true” />

<capability name=”supportsMultilineTextBoxDisplay” value=”true” />

<capability name=”supportsMaintainScrollPositionOnPostback” value=”true” />

<capability name=”supportsVCard” value=”true” />

<capability name=”supportsXmlHttp” value=”true” />

<capability name=”tables” value=”true” />

<capability name=”vbscript” value=”true” />

<capability name=”w3cdomversion” value=”1.0″ />

<capability name=”xml” value=”true” />

<capability name=”tagwriter” value=”System.Web.UI.HtmlTextWriter” />

</capabilities>

</browser>

</browsers>



版权声明:本文为zorou_fatal原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。