利用Cloudflare R2存储搭建博客图床

本文最后更新于 312 天前, 如有失效请评论区留言.

可能有小伙伴们发现,我博客最近文章都启用了新的图床域名了哈,本文主要记录一下折腾过程备忘一下。

为啥用图床

Solitudes本身支持文件管理,为啥还要单独使用图床?

  • 主要我平时写博客都是使用Markdown,要在多个平台发布,图片支持外链体验上会好些,可以节省机器带宽。
  • 主要是我博客是部署在k3s跨云集群上,pod会随机调度到某个节点上,暂时还不支持跨云分布式存储。
  • 老版本是用自建minio进行图片分发,但是服务可用性基本没法保障(主要是老有人搞破坏不是)

为什么是CloudFlare R2

  • 有白嫖额度
  • 免费 CDN
  • 支持绑定自定义域名

免费额度完全满足个人使用,即使超出之后,费用相对来说还是比较便宜。而且他们收费的只有存储空间和请求次数。

永久免费 超出部分/月费
存储 10 GB/月
A 类操作 100 万次/月
B 类操作 1000 万次/月
  • A类操作: 通常是指上传
  • B类操作: 通常是指下载和访问

这里得吐槽一下腾讯云COS计费真的复杂。

开通R2

默认你已经有CloudflarePayPal
当然国行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

安全缓存配置

  1. 由于主域开启了安全防护,还需要避免R2域名受到影响。
  2. 需要开启缓存,避免被刷

最后

到这里基本就完成啦,还是很便捷的。

Sponsor

Like this article? $1 reward

Comments

jock ·v1 加利福尼亚 Reply

请问绑定的域名只能是在cloudflare上注册的域名吗?

ysicing 👨‍💻 ·v1 Reply

@jock 不需要,但是得需要通过cloudflare解析才可以