利用Cloudflare R2存储搭建博客图床
可能有小伙伴们发现,我博客最近文章都启用了新的图床域名了哈,本文主要记录一下折腾过程备忘一下。
为啥用图床
Solitudes本身支持文件管理,为啥还要单独使用图床?
- 主要我平时写博客都是使用Markdown,要在多个平台发布,图片支持外链体验上会好些,可以节省机器带宽。
- 主要是我博客是部署在k3s跨云集群上,pod会随机调度到某个节点上,暂时还不支持跨云分布式存储。
- 老版本是用自建minio进行图片分发,但是服务可用性基本没法保障(
主要是老有人搞破坏不是)
为什么是CloudFlare R2
- 有白嫖额度
- 免费 CDN
- 支持绑定自定义域名
免费额度完全满足个人使用,即使超出之后,费用相对来说还是比较便宜。而且他们收费的只有存储空间和请求次数。
永久免费 | 超出部分/月费 |
---|---|
存储 | 10 GB/月 |
A 类操作 | 100 万次/月 |
B 类操作 | 1000 万次/月 |
A类操作
: 通常是指上传B类操作
: 通常是指下载和访问
这里得吐槽一下腾讯云COS计费真的复杂。
开通R2
默认你已经有Cloudflare
和PayPal
当然国行PayPal
或者银联信用卡
都可以
PS: 主要是我已经开通了,不想重新注册走一遍😄
创建存储桶
可以自己选取位置,建议无脑选亚太地区, 自己爽就行😂
刚刚创建完公共 URL 访问不允许
绑定域名
点击设置连接域,新起一个独立域名
完成一系列操作后,就会完成添加,这个过程大概需要一分钟左右
允许公开访问(可选)
自定义需要就不需要开启啦,如果是默认分配的域名需要手动开启一下
创建 R2 API 令牌
点击管理 R2 API 令牌
完成创建后,会提供相关密钥
客户端配置
mc客户端
mc alias set r2 R2的URL AccessKey SecretKey
没啥特殊操作的地方,我觉得很习惯
mc ls r2/cos/
[2023-12-29 22:01:01 CST] 8.5KiB STANDARD ht.jpeg
[2024-02-13 18:42:06 CST] 0B 2024/
[2024-02-13 18:42:06 CST] 0B images/
[2024-02-13 18:42:06 CST] 0B logotx/
rclone
按照引导,直接配置就可以啦
rclone lsd r2:/cos/
0 2000-01-01 08:00:00 -1 2024
0 2000-01-01 08:00:00 -1 images
0 2000-01-01 08:00:00 -1 logotx
安全缓存配置
- 由于主域开启了安全防护,还需要避免R2域名受到影响。
- 需要开启缓存,避免被刷
最后
到这里基本就完成啦,还是很便捷的。