前言

众所周知,许多对象存储的服务商都提供了“免费”的额度,看起来很爽,但被刷之后就知道原来“免费”的这么贵;

CF-R2-1.png

那么有没有一款不怕被刷的对象存储呢?答案是有的,还是你熟悉的赛博善人——CLoudFlareR2对象存储

介绍

R2 是 Cloudflare 推出的对象存储服务,主打 零出口费用(免流量费)和与 S3 兼容的 API,适合存储大量数据且需频繁访问的场景。

存储位置有:亚洲、欧洲、美洲,速度不及国内的对象存储,但白天最高能跑到50MB/s左右,晚上最低也有几百KB/s 到 4、5MB/s(全国速度有所不同),对于图片来说基本是够用的了,重点是他出口流量全免!!!

计费

以下是R2的核心定价和免费额度:

CF-R2-2.png

罗列了个表格:

类别

内容

免费额度

超出部分费用

💾 存储

存储空间

10GB/月 免费

每增加 1GB 收费 $0.015 美元(约 $15/TB)

🔄 A 类操作

上传、列出

100 万次/月 免费

每增加 100 万次 收费 $4.50 美元

🔁 B 类操作

下载、读取

1000 万次/月 免费

每增加 100 万次 收费 $0.36 美元

⏬ 出口流量

访问数据时的流量

全免

无任何费用

出口费用全免!当然有些人还是会说下载、读取次数被刷怎么办?1000万次才收费0.36美元,真的会有人去刷CF的R2吗?

为了防止“被刷”(抬杠),本文同时会同时介绍下强制缓存、速率控制的设置方法(进一步规避被刷风险)。

创建存储桶

打开并注册CF账户(不是,你不会还没有CF账户吧?😁)

进入【R2 对象存储】

CF-R2-3.png

添加支付信息,这里需要一张外币卡 或者 Paypal

接下来【创建存储桶】

CF-R2-4.png

CF-R2-5.png

  • 存储桶名称:自己填写

  • 位置:亚太地区北美洲西部 (实际速度差不多)

  • 默认存储类:标准(不能选不频繁访问,没有免费额度)

CF-R2-6.png

这样就创建完成了!可以直接页面上传、删除等操作;

添加你的图床域名(如:img.ssqq.de,主域名要先托管到CF);

按需开启 R2.dev子域名、按需设置CORS 策略等(不了解可以先不开)。

CF-R2-7.png

CF-R2-8.png

创建API

【R2对象存储】-【API】-【管理API令牌】-【创建API令牌】(账户API、用户API均可)

CF-R2-9.png

CF-R2-10.png

  • 权限:管理员读和写(对象读和写也可以,不过要指定桶)

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

CF-R2-11.png

设置缓存规则

这个是为了进一步防止被刷下载次数(虽然也基本没人去刷CF的R2)

点进去域名-【规则】-【页面规则】-【创建页面规则】

CF-R2-12.png

CF-R2-13.png

  • URL:https://img.ssqq.de/*​ 要带https,后面 /*

  • 浏览器缓存 TTL:1天

  • 边缘缓存TTL:1个月(也可以适当降低,如果你经常更换图片的话)

  • 缓存级别:缓存所有内容

  • 源服务器缓存控制:添加但不开启!

这样缓存规则就设置完毕了!

设置速率限制

【安全性】-【WAF】-【速率限制规则】-【创建规则】

CF-R2-14.png

CF-R2-15.png

  • 规则名称:随意

  • 字段:URL路径、包含、/

  • 当速率超过...:100​,10秒钟

  • 然后采取措施…:阻止

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

至此速率设置就完事了!

防盗链设置(可选拓展)

【安全性】-【WAF】-【自定义规则】

CF-R2-16.png

  • 主机名:等于,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存储的插件等等~