早上一个朋友告知其没有流量的博客突然出现访问很慢,然后打不开提示信息主机资源超量等信息(具体的提示我也忘记复制下来),大概意思就是占用资源过大短期被屏蔽。因为是虚拟主机,采用的是APACHE架构服务,所以比较简单,直接帮他登录CPANEL面板取得日志文件,然后查看后吓一跳。
原来是来自YisouSpider蜘蛛的爬行导致占用内存和CPU过大导致的资源消耗,一个小小的博客没有流量的怎么可能会这样呢,我看他的博客只有几篇文章而已。
解决方法很简单,我们直接在.htaccess文件中屏蔽这个IP就可以。
Order Allow,Deny
Allow from all
Deny from 42.120.161.43
在.htaccess文件中增加上面三行,如果有多个IP地址的话,用空格隔开。老左搜索了一下,发现出现这样问题的还真不少,而且还看到有人专门整理了所有的YisouSpider蜘蛛IP地址,我们可以全部屏蔽未雨绸缪,也可以等有问题的时候一个个添加。
网友整理的所有YiSouSpider IP地址:https://soft.laozuo.org/tools/yisouspider.txt
PS:如果我们是NGINX环境系统,我们也可以到自己当前网站的.CONF文件中添加
deny 42.120.161.43;
这样我们一样可以屏蔽当前这个IP地址的访问。
PS:这里在补充Nginx环境屏蔽YisouSpider爬虫的方法,我们可以直接将整个爬虫User Agent端口屏蔽,反正也没有多大的用途。
if ($http_user_agent ~* "YisouSpider") {
return 403;
}
在我们当前站点的.conf文件中添加上面的脚本,保存替换之后重启Nginx生效,这样我们就可以让所有的YisouSpider返回403。