因为本站使用的R2资源比较少,整个桶不过50M,一个月下来B类访问量也不足4W,之前基本上没考虑过什么盗刷的问题,昨天在文章下面有用户提到他的资源访问量比较大,一天下来就有我的数量级了,这种情况下一不小心可能就有机会给Cloudflare打钱。之前本站大部分资源都是仍在OSS上的,从上个月开始访问速度就非常不正常,试着把东西都扔到R2上整体访问速度居然还提升了...阿里云的防盗刷配置还是比较简单的,R2就没那么直观,可以从以下几个方面入手:

缓存

对于资源的缓存配置好可以避免直接访问到桶里的数据,我看了下能配置的入口有两个:
一是在存储桶内的设置项配置CORS策略,主要是添加"MaxAgeSeconds": 43200这一项,在官方文档里的解释是:指定允许浏览器缓存 CORS 预检响应的时间(以秒为单位),最大值是43200,此举可能有一定帮助但不是很确定。
CORS策略
二是利用Cloudflare的页面规则功能,为R2域名添加缓存设置项:
缓存设置项
因为我的资源都放在r2.****.***下,所以我配置的域名是r2.****.***/*,缓存基本都拉到最大值,经过测试开启后确实也是从本地读取资源了。
资源测试
另外缓存配置下也有个Cache Rules,不知道和上面有没有冲突,我是一并配置了。

防盗链(可选)

防盗链一般使用的是安全性下的WAF-自定义功能,配置的规则方式为:字段:引用方 不包含 允许的域名1 Or 引用方 不包含 允许的域名2... And 主机名 包含 r2地址 时采取 阻止 的措施,比如我图中的配置:
防盗链配置
这样就是当不包含blog.tama.guru或tama.host的引用方去访问我的r2域名时,进行阻止,此时直接访问桶内资源已经是提示被ban了。这里的https://可以不要。
被阻止了

其他事项

  • 启用如图所示的防盗链规则的话有可能会出现配置允许的域名但是也无法访问的情况,因此建议考虑是否开启,我个人觉得有缓存这一级保护就差不多了。
  • 启动规则之后在安全性-事件下会显示访问信息记录,包括IP 国家/区域 试图访问的链接等。我刚配置好就碰到个笨蛋扫我后台...难崩...
最后修改:2024 年 08 月 20 日
如果觉得我的文章对你有用,请随意赞赏