网站七牛 CDN 流量被刷,差点破产

文章目录

    昨天突然收到七牛云的余额不足提醒邮件,大意是我的账号余额不足以继续使用 7 天。

    我以为是七牛云发送邮件的 bug,因为我月初刚充值,充了大概一年的费用。谨慎起见,还是登录了后台查看。

    X,实时消费金额果然有问题。一个周大概消耗了一年的流量。

    七牛云 CDN 流量截图

    流量统计

    七牛云后台的加速域名,里有个统计分析功能:

    https://portal.qiniu.com/cdn/domain

    里面可以查看上面截图中的流量统计 (这个功能藏的太深,我找了半天才找到)

    可以看到,流量从 8 月 1 日开始就出现异常,最近一个周变得更加恐怖。

    文件统计

    七牛云 CDN 文件访问量统计

    从文件统计看,主要是首页里的图片和 js 文件。

    临时处理措施

    ⦁ 一开始太紧张,先临时把首页的图片和多余的静态资源文件去掉了。或者换成了从服务器拉取。
    ⦁ 主要文件处理之后,心情平复了一些,开始查看七牛云的防刷配置,里面可以设置禁止空 Referer。而统计中显示,大部分流量来自空 Referer。

    七牛CDN 禁止空 Referer

    CDN Referer Top 统计

    采取这两项措施之后,CDN 流量就降了下来。怪不得最近字节的公共静态资源服务大量文件消失,估计也是被刷的受不了吧。

    但是限制了 Referer 之后,也有不便的地方,就是网站内容复制到微信公众号,就不能自动抓取图片了。

    告警配置

    我确认了一下,发现之前有配置流量告警规则,每小时超过 100M 就会主动告警。
    但是不知道为何没有生效。😅

    Nginx 日志分析

    从 Nginx 日志看,90% 的垃圾流量来自广东。这些请求的特征就是疯狂在刷首页。并且请求 js 和图片。
    并不是单纯的爬虫行为,因为还执行了 js 统计逻辑。从微软 Clarity 的统计看,前一段时间被刷的流量上天。
    最近一周 Clarity 的统计才正常,可能是已经识别出了垃圾流量的特殊,或者 IP 加了黑名单吧。

    我一开始以为是某些大模型训练的爬虫在爬取,但是实际行为看也不是,因为没有必要这么高频率的爬取。
    不了解真实意图啊。毕竟我这种小博客,并没有被爬取和刷流量的价值。

    头痛!国内要是有类似 CloudFlare 这样的产品就好了。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式