减轻Bing爬虫MSNBot给网站造成的压力

Posted by zuzhihui in 互联网技术 on 2013/04/29 with 1 Comment

最近某客户的VPS经常因为负载过高而无法访问。用ras-shell给VPS硬重启后过几十分钟就又因为负载高而无法访问了。

用netstat命令可以看到某些IP频繁访问网站的所有网页,给网站造成的压力很大。用host命令查看这些IP,可以看到这些IP都反向解析到以msnbot开头的一个主机名上,很明显,这是微软的Bing搜索引擎的爬虫,频繁便利网站的所有页面,影响了网站的正常访问。

可以用iptables把这些爬虫的IP段给封掉,这样网站就可以正常访问了。但这只是临时的解决方案,因为封了这些IP也会影响Bing搜索引擎的收录。

在网上搜索这个问题的解决方案,找到这篇文章,是微软官方的:http://www.bing.com/blogs/site_blogs/b/webmaster/archive/2009/08/10/crawl-delay-and-the-bing-crawler-msnbot.aspx ,页面内容在浏览器里面无法正常显示,但在Google的Cache里面还有完整内容,现在翻译如下。

抓取延迟和Bing爬虫,MSNBot

搜索引擎,如Bing,需要定期抓取网站,不仅索引新内容,还要检查网站内容是否更改和删除。Bing给站长们提供了一个方法,能减慢抓取速率,以减轻Web服务器的负载。

使用这个方法并不是必须的,但在网络管理员需要减轻网站压力时确实有效的方法。小网站和不经常更新的网站不必设置抓取延迟。
较大的网站,有很多页面,经常更新,爬虫就来的多,给网站造成的压力就大。

您是否应该设置抓取延迟?

许多因素会影响抓取一个网站,包括(但不限于):

  • 网站上的页面总数
  • 内容的大小(PDF和Microsoft Office文件的大小通常要远远大于普通的HTML文件)
  • 网站内容是否经常更新
  • 允许的并发连接数
  • 网站的带宽
  • 网站排名

上面这些因素综合在一起,决定了爬虫对一个网站抓取的频繁程度。
正是因为有这么多的因素,所以没有明确的,通用的答案告诉你是否应该设置抓取延迟。

这就是说,一些网站管理员,由于技术上的原因,需要设置抓取延迟。因此,我们要解释如何做到这一点,你应该怎样设置,这样做的影响。

在robots.txt文件中设置爬虫的频率

Bing支持网站的robots.txt文件的REP指令,这个robots.txt文本文件应该放在网站的根文件夹下。 修改robots.txt文件是设置MSNBot抓取延迟的唯一有效的方法。
如何设置抓取延迟参数
在robots.txt文件中的抓取延迟指令如下所示:
User-agent: *
Crawl-delay: 10

Crawl-delay就是抓取延迟指令,后面跟一个正整数值。Bing建议使用尽可能的最低值,建议不要高于10,因为这将严重影响Bing机器人的抓取效率。

Crawl-delay设置 索引更新速度
不设置 正常
1 较慢
5
10 很慢

cPanel/WHM控制面板root登录失败怎么办

Posted by zuzhihui in Linux技术 on 2013/04/27 with No Comments

cPanel/WHM控制面板管理员登录界面,比如 https://a.b.c.d:2087 ,root用户登录失败,密码也没有写错,怎么会失败呢?

一个常见的原因是现在有不法分子才您的root密码,他们不断在https://a.b.c.d:2087 进行尝试,导致控制面板禁止root登录了。

怎么办呢?

SSH登录到服务器上,查看/var/log/messages 日志文件,会发现很多类似下面的日志:

Apr 27 01:28:13 sjd-royalmonkey-com PAM-hulk[16331]: Brute force detection active: 580 LOGIN DENIED — TOO MANY FAILURES — IP TEMP BANNED

这就是他们猜密码的证据。

再打开/usr/local/cpanel/logs/cphulkd.log 日志文件,会发现很多类似如下的日志:

Sat Apr 27 01:48:30 2013 [info] Connection service=system ip=115.115.75.157 port= user=root blocked by cphulkd (IP Address listed as brute)

这个日志里面就显示出他们的IP地址了。有了IP地址就好办了,用下面的命令来禁止这个IP即可:

iptables -I INPUT -s 115.115.75.157 -j DROP

然后过一会,控制面板就恢复正常了,可以登录了。

使用cloudflare的服务

Posted by zuzhihui in 互联网技术 on 2013/04/25 with No Comments

瑞豪开源可以免费帮客户部署CDN服务,整个步骤大概如下:

  1. 客户网站建好后提交服务单,说明为哪个域名部署服务。
  2. 瑞豪开源客服检查客户的网站,如果此时网站能正常打开,则继续下一步;如果此时网站因为其它原因(比如正在被攻击)无法打开,瑞豪开源客服记录一下域名指向的IP地址,继续下一步。
  3. 瑞豪开源的客服登录cloudflare.com,把域名添加进去,并一步步走到最后,注意都使用默认设置即可,不要修改cloudflare的默认设置。
  4. 让客户把域名的DNS服务器修改为 abby.ns.cloudflare.com 和 ivan.ns.cloudflare.com,然后等30分钟即可生效。注意这一步不要提前,否则会影响上一步中的DNS自动检测部分。

还需要注意一点,使用cloudflare的服务后,网站在中国大陆地区就打不开了,因为大陆屏蔽了cloudflare。

一般情况下,不要打开I am under attack选项,因为打开这个选项后网站的首页会受影响。即使网站正在被攻击,也不要打开这个选项。除非攻击导致后台的服务器都无法正常运行,客户的网站也无法打开的情况下,才能启用这个选项,启用这个选项后,应该每天都试着把这个选项去掉,看看网站是否能打开,攻击是否消退。

Back to Top

2007-2017 © 北京瑞豪开源科技有限公司 京ICP备13004995号-2