前言
众所周知,许多对象存储的服务商都提供了“免费”的额度,看起来很爽,但被刷之后就知道原来“免费”的这么贵;
 
那么有没有一款不怕被刷的对象存储呢?答案是有的,还是你熟悉的赛博善人——CLoudFlare的R2对象存储。
介绍
R2 是 Cloudflare 推出的对象存储服务,主打 零出口费用(免流量费)和与 S3 兼容的 API,适合存储大量数据且需频繁访问的场景。
存储位置有:亚洲、欧洲、美洲,速度不及国内的对象存储,但白天最高能跑到50MB/s左右,晚上最低也有几百KB/s 到 4、5MB/s(全国速度有所不同),对于图片来说基本是够用的了,重点是他出口流量全免!!!
计费
以下是R2的核心定价和免费额度:
 
罗列了个表格:
出口费用全免!当然有些人还是会说下载、读取次数被刷怎么办?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存储的插件等等~ 
 
             
         
                                
评论