解决一例防火墙引起的网站产生大量403报错的故障

Posted by

文武双全30号成功解决了一例由防火墙导致的,网站大量403报错的故障。下面跟大家分享一下,解决故障的全部经过。

网站日志每天有大量403报错

通过每日的网站日志分析,文武双全发现近期新上线的一个网站,每天的日志里都会有大量403报错。这些403报错的数量,已经超过了百度蜘蛛来抓取的数量的两倍。这些403报错的来源,主要是百度、360、谷歌、bing等搜索引擎,也有像百度云观测这样的在线监控程序。

错误的认为403是由dedecms造成

起初在分析日志的时候,文武双全发现这些403错误大部分是在蜘蛛访问dedecms生成的日期目录的时候出现。但是这些/YY/MM这样的日期目录又没有生成类似index.html的默认首页,所以当时文武双全片面的认为是dedecms无法为日期目录生成默认首页造成的。

在osc、seowhy、dedecms官方论坛发帖求教无果的情况下,我只能寻求其他的解决方法。

分析403报错真正含义发现故障原因

在求教无门的情况下,文武双全只能坐下来自己分析故障原因了。12月30日,我仔细思考了403报错的真正含义。跟常见的301、404、502报错不同的是,403报错的含义其实很简单:因为服务器限制,导致无法访问。

ok,知道了403对的真正含义, 文武双全立马意识到问题可能出现在服务器的配置上。立马询问公司网管,服务上是否启用了类似防CC攻击或者DDos攻击的,限制服务器并发连接数的防火墙。果然,这家伙虽然没有启用nginx的限制并发的mod,但是他在服务器上安装了一个微软的Forefront TMG防火墙。

很多人可能对TMG不熟悉,其实这货就是早年的微软哪款叫ISA防火墙。

服务器防火墙限制并发,导致搜索引擎蜘蛛产生大量403报错

403报错
403报错

查看TMG防火墙的设置,里面又一个限制1分钟内最多600个链接的设置。1秒钟10个链接,看上去似乎也不少了。但是这台服务器上,可是有几十个网站的。如果搜索引擎的蜘蛛一起过来,瞬间的请求可能远远大于这个数字。

根据我的测算,目前我们公司服务器上要承受的来自搜索引擎蜘蛛的最大并发大概在每秒30个连接左右。修改了一下配置,到今天为止网站日志里再也没有出现403报错了。

至此,困扰我一个多月的网站日志大量403报错的问题,终于解决。

不要轻易对搜索引擎的蜘蛛放行

其实这个问题,还可以通过其他方法解决。比如说在防火墙里设定规则,所有来自搜索引擎蜘蛛的访问全部放行,也可以把搜索引擎蜘蛛的ip地址全部加到防火墙的白名单里。不过,文武双全并不推荐这样做。文武双全已经遭受过很多次,黑客们利用代理服务器伪装成百度蜘蛛对网站发起CC攻击。

最安全的做法,还是修改并发链接数。不过如果黑客采用大量分散的ip,采用低频率、高总量的攻击方式,依然难以预防。

文武双全总结

在这里我特别要表扬各位蜘蛛的敬业精神,虽然我们一直在限制他们访问我们的服务器,但是他们一直本着:“客户虐我千百遍,我待客户如初恋”的精神,日夜不息的来我们公司网站抓取。最后,我还是的说:做seo,真的要不停的学习新的知识。每一次进步,都有可能帮助你解决巨大的问题。

One comment

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据