有一个闲置久不再继续更新的网站发现其流量暴增本来一直没有发现问题的,其本来在一台单独的大硬盘的 VPS 上面跑着的,即使每日备份的压缩包体积不可忽略的大但是我在今年10月份对其进行搬家的时候特意进行了一些设置。
其中原始的数据只有4.5GB这样,其余的一半容量都是这原始数据的各种规格的转码,为了节省搬家后的 VPS 小的可怜的磁盘空间我禁用了所有可自选的规格大小的转码只保留默认不可选的。
本来一切都貌似都还好好的,忘记从那天开始备份压缩包的体积突然变大了但是不是很在意,毕竟那时候觉得我对个别网站再次进行搬家还没涉及到这个网站的,但计划再对该站点进行搬家的时候就不得不需要清理一些可以清理的缓存数据。
但是我在清理全部缓存时发现没有可清理的缓存数据且点击清理后相应目录依旧占用这么大的容量,于是就对目录进行分析发现是combined
目录产生的临时文件。
文件数量多到使用rm -rf *
命令都能直接报错提示命令太长,虽然“艰难”的清理掉后还是好奇为什么会产生这一堆文件,刚开始认为可能是报错导致的,就去查看对应的日志发现错误日志没有什么有用的信息,反倒是在正常的访问日志中发现了一些端倪。
在日志中发现大量的异常的请求路径,查看到都是亚马逊的蜘蛛(amazonbot),虽说不准确但是就3个多小时就产生了200多MB的访问日志。
本来这些蜘蛛没有造成多大的压力毕竟不是并发流量,但是问题出在了所使用的piwigo这个程序上。不知道我的判断是否正确piwigo这个程序每个访问或者说是每个url都会生成一个css一个js文件,由于amazonbot
以若干秒的频率访问一次网站就导致生成了一堆css、js文件导致占用了大量的磁盘空间。
即使是这个amazonbot
不是搜索引擎的蜘蛛不会带来访问流量,但是由于使用的是Cloudflare的CDN服务流量不用额外付费暂时算是算没有造成什么损失之类的可以先不理睬,关键是它这蜘蛛每次请求的都不是正常的路径而且还像是将多个路径拼接起来的样子看着就不想正常的请求了。
于是我就在Cloudflare的WAF中配置了个规则,把所有包含相应字段的UA都给拦截需要JS质询。没想到配置了该WAF规则的短短几十分钟的时间里就有500多条命中的。
经过这两日来的观察,就算我在WAF配置了规则依旧是有“固定”频率的访问量即使是被拦截了的,难道这蜘蛛不会判断失败条件而放弃的吗?!!!
可惜的是在CDN端进行拦截虽然可以减轻自己 VPS 的压力,却也会导致一些日志收集存在一定的困难或者是麻烦,虽然对我来说这些日志貌似没有多大的用途……
ChiuYut
2024年12月21日