Cloudflare 对象存储 R2 配置
一直使用的大佬无私奉献的 SM·MS 免费图床,虽然很好用,但还是有被封锁丢失的风险,所以就想着搭建自己的图床。
开始试用了腾讯云的对象存储,付费实在太繁琐了,所以最后还是选择了 Cloudflare
的 R2
。
写到这我就不得不吐槽一下之前遇到的奇葩事情,在腾讯云之前我本来想用又拍云的推广免费额度来搭建,但是就在我注册完账号,接了一个官方的销售电话,敷衍销售只是先看看挂断电话之后,立马就接到了一个诈骗电话,这种前脚挂断后脚就接到诈骗电话的小概率事件说是偶然实在是难以信服,不可能一年没一次的诈骗电话,就赶上今天了。打这起我就对国内的小厂的云服务死了心了,注销账号还非得一个月后,鉴于它们之前的操作,即使注销账号,会不会按现行法律规定,妥善处理用户的数据,还是要打一个大大的问号。
R2免费套餐:每月10G,A 类操作前一百万次免费,B 类操作前一千万次免费(详见 https://developers.cloudflare.com/r2/platform/pricing )。
R2 必要配置
1、强制 https
R2 不支持 http,未配置强制跳转 https 时访问未加 https 可能会打不开。
在配置域名 SSL/TLS 的时候已经开启了 https,所以这里就不用再配置规则做强制跳转了。如果没有设置,就在 规则>页面规则
新增一条规则。
URL (必需)— http://img.xxxx.com/*
— 转发 URL — 301 永久重定向 — 输入目标 URL (必需) — https://img.xxxx.com/$1
— 保存页面规则
2、缓存所有内容:规则>页面规则
缓存可以存储到 CF 边缘节点,加快打开速度,大大减少 B 类操作。
URL (必需)— img.xxxx.com/*
— 缓存级别 — 缓存所有内容 — 边缘缓存 TTL — 1个月 — 保存页面规则
不过超过 512MB 的 R2 文件 CF 不会缓存(详见 https://developers.cloudflare.com/cache/about/default-cache-behavior)
3、不缓存大于 500MB 的视频
大于 512MB 的视频需要增加一条不缓存规则,否则会出现进度条无法拖动或者视频无法播放,但是不影响视频或大于 512MB 文件的下载。
就如上面的缓存规则,大于 512MB 的视频可以放在另一个存储桶里,单独为他们设置不缓存规则。
4、关闭自动程序攻击模式:安全性>自动程序>关闭
不关闭可能会被误判导致无法 wget 下载,这个处于安全考虑,不建议关闭,如果需要时可以短暂关闭使用,知道此项设置会导致哪些错误即可。
R2 建议配置
1、显示所有请求IP:安全性>WAF
规则名称 — show all the img access ip — 主机名 — 包含 — img.xxxx.com
— 然后采取措施 — 跳过 — 区域锁定。
目的是显示所有请求的 IP 地址,可以在”安全性>概述”看到所有访问者 IP。
2、屏蔽境外访问:安全性>WAF
按需设置即可,可以设置阻断所有非国内 IP 的请求,如果没有什么特殊需求可以不做设置。
也可以根据威胁级别来做阻断,主要是为了防止刷 B 操作,导致超出免费额度,面临的需要额外付费的风险。
3、请求速度限制:安全性>WAF>速率限制规则
这个在文章【转载】免费版 cloudflare 如何防 CC 攻击?不需要动手写规则!里已经做过设置,可以根据自己的实际情况设置速率,如果速率太过低的话,文章图片比较多,就会出现加载不出来的情况,需要多次刷新。