虚拟主机流量用完怎么办?流量杀手快速排查

最近两个月本站因为所在虚拟主机的流量用完,被关闭了两次。

第一次发生在7月的最后两天。我以为是因为随着时间的推移,本站流量自然上升导致,所以并不觉得有什么问题,于是我把所购买的“香港主机入门型”升级为“香港主机标准型”,扩大了流量上限(从10G上升到25G)。于是网站恢复了正常,我窃以为问题解决了。

但紧接着第二次又出现了这个问题,是8月9日起,流量又用完了。这不科学啊,明明流量上限提升了一倍还多,怎么一个月1/3没过完就用完了呢?其中必有蹊跷!

赶紧联系服务商,登录控制面板查看流量耗费信息。现在但凡是虚拟主机,都会提供主机流量详细情况的静态报表。

QQ图片20140810141430

在其中的每月流量历史统计图中,可以得知:本年以来本站访问人数稳步上升。但是7,8两月,消耗的流量数却不正常地大量攀升。尤其是8月份,访问人数没多少,流量消耗确实以前的数倍。肯定有问题!

QQ图片20140810141517

重点查看8月份的报表。发现有如下10个IP,虽然不是网页爬虫,但是访问浏览的网页数、文件数不正常的多,消耗流量更是惊人。看来这些IP嫌疑很大。

接着我下载了站点日志,发现8月6日,7日尽是这些IP在挨个遍历每个页面,甚至还想Ssh本站... 并且经查这些IP都是来自国外,什么法国,罗马尼亚,奥地利之类。

不用说了,这些IP就是犯人,全部通过服务商屏蔽掉。为了保险起见,我还更改了所有密码。

虽然问题发现了,但是流量没有的事实还是存在着。最后只好花10元买了5G临时流量先用着。同时,再考虑有什么优化的办法:

  • 第一:要使用服务商提供的报警机制,当流量快用完时系统会发邮件提醒我查看原因。过去我总是把这些邮件都当作垃圾邮件处理,以后得正视这个问题了。
  • 第二:还可以通过更改.htaccess文件,屏蔽IP或者禁止外链。例如下面的代码就是禁止外链。
RewriteBase /wp-content/uploads/
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !gislog.com [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteRule .*\.(gif|jpg|png|rar)$ http://www.storagelab.org.cn/logo.gif [L]
  •  第三:使用各种方法节省流量。本人的图片也不是直接上传到本站,而是传到photobucket这个有名的国外图床,再外链过来,以节省流量。