使用Cloudflare R2 + PicGo搭建免费图床

最近尝试了 Cloudflare R2 + PicGo 的方案,效果不错,记录一下配置过程。

为什么用 CloudFlare R2

平时用 Markdown 写博客,图片托管一直是件麻烦事。本地图片无法外链,国内的对象存储又贵又要备案,而第三方图床经常不稳定。我们的赛博大善人 Cloudflare R2 提供了相当多(10GB/月) 的免费存储额度,超额部分也很便宜(约 0.1 元/GB)。并且还支持 CDN 加速,绑定域名时不需要备案,对于个人博客来说完全够用。配合 PicGo 这样的图床工具,可以很方便地上传和管理图片。

白嫖 CloudFlare R2

创建存储桶

登录 CloudFlare 账号,进入 R2 存储对象 → 概述,点击创建存储桶image

  • 命名存储桶;
  • 位置选择自动,选择一个离博客浏览人群近点的位置,如亚太地区
  • 默认存储类选择标准。(不止于个人博客每月访问少于一次吧)
  • 点击创建存储桶image

允许公共网络访问

创建完存储桶,此时是不允许公共 URL 访问的,需要进一步的设置。

  • 点击设置image

  • 设置页面之后往下拉,找到R2.dev 子域,点击允许访问。 image

设置完后,就可以在对象页面 添加图片啦。上传后,点击对应的图片文件,就能找到 Cloudflare 给你分配的图片链接啦。如下图: image image

设置自定义域

在 R2 存储桶中的设置里找到自定义域,点击连接域,输入你博客域名的子域名,用 cdn、static 或者你想用什么都行,CloudFlare 会自动对该子域名添加 DNS 记录。 image

使用 PicGo 上传图片到 R2

创建 R2 API 令牌:

  • R2 对象存储页面点击{ } API,选择管理 API 令牌image

  • 点击创建 API 令牌image

  • 填写令牌名称(可随便填写),权限选择对象读和写,然后点击右下角的创建 API 令牌image

  • 务必保存好访问密钥 ID 机密访问密钥,下面会用到。 image

配置 PicGo

安装 PicGo 详细步骤,看这里

安装 S3 插件

打开 PicGo,进入插件设置,搜索并安装s3,如下图所示: image

配置 s3

  1. 进入图床设置,选择Amazon S3,编辑或新建一个Amazon S3 设置 image

  2. 填写相关配置:

  • 图床配置名:blog(可随便填写)

  • 应用密钥 ID:上方的访问密钥 ID

  • 应用密钥:上方的机密访问密钥

  • 桶名:blog(R2 对象存储桶的名称)

  • 自定义节点:R2 对象存储桶的S3 API image

  • 拒绝无效 TLS 证书连接:yes

  • 设置输出图片 URL 前缀:https://static.blog.ifantic.me/blog/(https://R2 自定义的子域名/存储桶名称/)

  • Bucket 前缀:yes image

配置完成就能愉快的上传图片啦!让我们大声说:谢谢赛博菩萨

参考资料

使用 Hugo 构建, 主题 StackJimmy 设计
本博客已稳定运行:, 共发表了10篇文章