Cloudflare R2 打造免费图床,10G存储+免流量费

本文阅读 6 分钟
首页 建站项目 正文
暂无AI摘要
摘要由智能技术生成

Test
  网站的图片和静态资源使用 CDN 加速是常见的操作,并且很多许多对象存储的服务商都提供了「免费」的额度,看起来很爽,但是万一被刷之后就很不爽了。
  那么有没有一款不怕被刷的对象存储呢?答案是有的,还是你熟悉的赛博善人 CLoudFlare 的 R2对象存储。

CLoudFlare R2

  R2 是 Cloudflare 推出的对象存储服务,主打零出口费用(也就是免流量费)和与 Amazon S3 兼容的 API,适合存储大量数据且需频繁访问的场景,完美解决传统图床的痛点:

  • ✅ ​不怕被刷流量:下载请求1000万次/月免费,超限后仅$0.36/百万次
  • ✅ ​全球加速:虽不及国内CDN,但实测白天可达50MB/s(速度测试截图)
  • ✅ ​完全兼容S3 API:适配所有主流图床工具(如PicGo、WordPress插件)

更重要的是并且 R2 的免费额度非常的大,以下是R2的核心定价和免费额度:
Test

  出口费用全免!当然有些人还是会说下载、读取次数被刷怎么办?1000万次才收费0.36美元,真的会有人去刷 CF 的 R2 吗?
为了防止“被刷”(抬杠),我们稍后介绍下强制缓存、速率控制的设置方法(进一步规避被刷风险)。

实战步骤:从创建到防刷

1. 创建 R2 存储桶

打开并注册 CF 账户,进入「R2 对象存储」:
Test
添加支付信息,这里需要一张外币卡 或者 Paypal。
完成之后,就可以「创建存储桶」
Test

点击「创建存储桶」:
Test

存储桶名称:自己填写
位置:亚太地区 或 北美洲西部 (实际速度差不多)
默认存储类:标准(不能选不频繁访问,没有免费额度)

Test

这样就创建完成了!这时候就可以直接在页面上上传和删除等操作。

添加你的图床域名,当然主域名要先托管到CF,也可以按需开启 R2.dev 子域名:
Test

按需设置CORS 策略等:
Test

2. 创建 R2 API

按照下面的路径进行操作,账户API、用户API均可:

「R2对象存储」-「API」-「管理API令牌」-「创建API令牌」
Test

其中权限选择「管理员读和写」,对象读和写也可以,不过要指定桶。
Test

创建好后会出现API密钥等信息,请保存好,以后一些插件、软件都会用到。
Test

关键防护配置

虽然 R2 基本不怕被刷,但是如果你还有这方面的担忧,可以通过下面三步操作基本杜绝这方面的问题:

1. 设置图片缓存规则

设置这个主要是为了进一步防止被刷下载次数(虽然也基本没人去刷CF的R2),先点进去域名:
Test

然后选择「规则」-「页面规则」-「创建页面规则」:
Test

其中:

URL:https://www.yvii.top/​ 要带https,后面 /
浏览器缓存 TTL:1天
边缘缓存TTL:1个月(也可以适当降低,如果你经常更换图片的话)
缓存级别:缓存所有内容
源服务器缓存控制:添加但不开启!
这样缓存规则就设置完毕了!

2. 设置速率限制

还通过设置速率限制防止恶意请求:
Test

选择「安全性」-「WAF」-「速率限制规则」-「创建规则」:
Test

​其中:

规则名称:随意
字段:URL路径、包含、/​
当速率超过...:100​,10秒钟
然后采取措施…:阻止

 这里重点是【当速率超过...】这个选项,推荐100甚至更多一点,不建议填写太低,很容易误伤;意思是同一个 IP 10 秒内请求超过多少张图片,就触发操作(按照你站点图片情况设置)

3. 设置图片防盗链

  这个可以按需添加,主要是防止别的网站盗用你的图床的图片,在别的网址引用图床链接就会提示错误,但是直接请求的方式就还是能打开!

选择「安全性」-「WAF」-「自定义规则」:
Test

主机名:等于,http://www.yvii.top (图床域名)
And:右边添加一个 And
引用方:不等于,http://www.yvii.cn(你的博客域名)
然后采取措施...:阻止

工具链推荐

CloudFlare 的 R2 是兼容 Amazon S3 对象存储的,所以有很多配合的软件可以使用,例如:

本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
整了几个简洁的单页HTML模板
« 上一篇 03-03

发表评论

发表评论
竖屏随机


博客

图床

主页

标签TAG

AI
AI在线
以确保在用户需要帮助时能够及时提供解答和技术支持
您好,这里是『乙未极客』,请问有什么能帮到您?