介绍
R2 是 Cloudflare 推出的对象存储服务,主打 零出口费用(免流量费)和与 S3 兼容的 API,适合存储大量数据且需频繁访问的场景。
存储位置有:亚洲、欧洲、美洲,速度不及国内的对象存储,但白天最高能跑到50MB/s左右,晚上最低也有几百KB/s 到 4、5MB/s(全国速度有所不同),对于图片来说基本是够用的了,重点是他出口流量全免!!!
计费
以下是R2的核心定价和免费额度:
罗列了个表格:
类别 | 内容 | 免费额度 | 超出部分费用 |
---|---|---|---|
💾 存储 | 存储空间 | 10GB/月 免费 | 每增加 1GB 收费 $0.015 美元(约 $15/TB) |
🔄 A 类操作 | 上传、列出 | 100 万次/月 免费 | 每增加 100 万次 收费 $4.50 美元 |
🔁 B 类操作 | 下载、读取 | 1000 万次/月 免费 | 每增加 1000 万次 收费 $0.36 美元 |
⏬ 出口流量 | 访问数据时的流量 | 全免 | 无任何费用 |
出口费用全免!当然有些人还是会说下载、读取次数被刷怎么办?1000万次才收费0.36美元,真的会有人去刷CF的R2吗?为了防止“被刷”(抬杠),本文同时会同时介绍下强制缓存、速率控制的设置方法(进一步规避被刷风险)。
创建存储桶
打开并注册CF账户(不是,你不会还没有CF账户吧?😁)
进入【R2 对象存储】
添加支付信息,这里需要一张外币卡 或者 Paypal
接下来【创建存储桶】
- 存储桶名称:自己填写
- 位置:亚太地区 或 北美洲西部 (实际速度差不多)
- 默认存储类:标准(不能选不频繁访问,没有免费额度)
这样就创建完成了!可以直接页面上传、删除等操作;
添加你的图床域名(如:img.ssqq.de,主域名要先托管到CF);
按需开启 R2.dev子域名、按需设置CORS 策略等(不了解可以先不开)。
创建API
【R2对象存储】-【API】-【管理API令牌】-【创建API令牌】(账户API、用户API均可)
- 权限:管理员读和写(对象读和写也可以,不过要指定桶)
创建好后会出现API密钥等信息,请保存好,以后一些插件、软件都会用到
设置缓存规则
这个是为了进一步防止被刷下载次数(虽然也基本没人去刷CF的R2)
点进去域名-【规则】-【页面规则】-【创建页面规则】
- URL:https://img.ssqq.de/* 要带https,后面 /*
- 浏览器缓存 TTL:1天
- 边缘缓存TTL:1个月(也可以适当降低,如果你经常更换图片的话)
- 缓存级别:缓存所有内容
- 源服务器缓存控制:添加但不开启!
这样缓存规则就设置完毕了!
设置速率限制
【安全性】-【WAF】-【速率限制规则】-【创建规则】
- 规则名称:随意
- 字段:URL路径、包含、/
- 当速率超过…:100,10秒钟
- 然后采取措施…:阻止
这里重点是【当速率超过…】这个选项,推荐100甚至更多一点,不建议填写太低,很容易误伤;意思是同一个ip 10秒内请求超过多少张图片,就触发操作(按照你站点图片情况设置)
至此速率设置就完事了!
防盗链设置(可选拓展)
【安全性】-【WAF】-【自定义规则】
- 主机名:等于,img.ssqq.de (图床域名)
- And:右边添加一个 And
- 引用方:不等于,www.xiaoge.org(你的博客域名)
- 然后采取措施…:阻止
这个可以按需添加,使用浏览器在别人的网址,引用图床链接就会提示错误,但是直接请求的方式就还是能打开!具体请自行测试。
搭配使用
CF的R2是兼容S3对象存储的,所以有很多配合的软件可以使用,例如:
- picgo:https://picgo.github.io/PicGo-Doc
- Alist:https://github.com/AlistGo/alist
- 兰空图床:https://lsky.pro/
- 简单图床:https://github.com/icret/EasyImages2.0
- wp、halo、typecho的一些支持S3存储的插件等等~