前言

为什么是 Cloudflare R2?它强在哪里?

在对比了国内外大大小小的对象存储服务后,Cloudflare R2 的优势简直是“降维打击”。
头图

  1. 令人心安的“免费额度”:不仅免存储,更免流量费
    这是 R2 最核心、最吸引人的优势。传统云厂商(如阿里云OSS、AWS S3): 虽然通常也有免费存储额度,但最大的坑在于出口流量费。一旦你的文章火了,图片被大量访问,流量费用可能瞬间让你负债累累。Cloudflare R2: 出口流量完全免费!对于个人博客来说,R2 的免费额度几乎是“用不完”的:存储空间: 10GB/月。对于一个纯文本为主的博客,放几千张图片都绰绰有余。
    B类操作(读取): 每月 1000 万次。除非你被 CC 攻击,否则根本用不完。
    A类操作(写入): 每月 100 万次。
  2. “赛博菩萨”的背书:稳定可靠
    Cloudflare 是全球顶级的 CDN 和安全服务商,素有“赛博菩萨”之称。把图片托管在 R2,意味着你不用担心小厂商跑路的风险。而且,R2 天然搭建在 Cloudflare 的全球边缘网络上(超过 300 个城市),图片会自动通过其 CDN 加速,无论你的读者在国内还是国外,加载速度都非常理想。
  3. 告别备案烦恼,开箱即用
    国内的云存储虽然好,但绑定域名必须备案,流程繁琐。R2 是国际服务,绑定自己的域名不需要备案,注册好账号,配置好 DNS,30 分钟就能搞定。
  4. 兼容 S3 API,拒绝厂商锁定
    R2 完美兼容 AWS S3 的 API 标准。这意味着你现在用 PicGo 配置好,将来如果想迁移到自建的 MinIO 或者其他支持 S3 的服务,只需要改几行配置就行,不会被 Cloudflare 锁死。
  5. 技术前瞻:本地上传功能
    就在 2026 年 3 月,Cloudflare 还为 R2 引入了本地上传功能。如果你在国内,但存储桶选在美国区域,上传图片时数据会先写入最近的节点,再由 Cloudflare 后台自动复制到目的地,跨区域写入延迟降低了高达 75%。这在以前是想都不敢想的体验。

Cloudflare R2 + PicGo 图床搭建完整流程

准备工作

一个 Cloudflare 账号(需绑定 Visa/MasterCard 或 PayPal,仅用于验证身份,不会扣费)。
一个属于自己的域名(例如winboard.top),并将其托管在 Cloudflare(免费计划即可)。
下载最新版的PicGo客户端

第一步:创建 R2 存储桶(Bucket)

登录 Cloudflare 仪表盘,在左侧边栏找到 R2 对象存储。
R2对象储存
点击 创建存储桶。
名称: 输入一个全局唯一的名字,例如PicGo-Blog。
位置: 建议选择 亚太地区,如果考虑全球受众,也可以选择 北美或者保持默认。这里影响不大,因为 CDN 会加速。
点击 创建。
创建

第二步:绑定自定义域名(关键

R2 默认生成的 *.r2.dev 域名有速率限制,只适合测试,生产环境必须绑定自定义域名。
在刚才创建的存储桶页面,点击 设置。
找到 自定义域,点击 连接域。
输入你的图片子域名,例如 photo.winboard.top。
绑定自定义域名
Cloudflare 会自动添加 DNS 记录,点击 连接域名 即可。
以后你的图片访问地址就是:https://photo.winboard.top/图片名.jpg。

第三步:获取 API 令牌(供 PicGo 使用)

在 R2 的概览页面,点击右上角的 管理 R2 API 令牌 -> 创建 API 令牌。
API令牌入口
权限: 选择 对象读和写。
点击 创建。
API创建
创建成功后,页面会显示 访问密钥 ID 和 机密访问密钥。这俩信息只显示一次,请立即复制保存好(如果忘记了可以选择轮转),后面 PicGo 配置要用。
API

第四步:配置 PicGo

打开 PicGo,进入 插件设置,搜索并安装 s3 插件(推荐使用picgo-plugin-s3)。
安装完成后,进入 图床设置 -> Amazon S3。
参考下图和说明进行配置:
应用密钥 ID: 填写刚才保存的 访问密钥 ID。
应用密钥: 填写刚才保存的 机密访问密钥。
桶: 填写你创建的存储桶名称(例如PicGo-Blog)。
文件路径: 建议选择 {year}/{month}/{day}/{fullName},方便分类管理。
自定义节点: 这是最容易错的地方。回到 Cloudflare R2 的概览页面,点击 通过 S3 API 使用 R2,复制那里的 S3 端点(格式类似 https://xxxx.r2.cloudflarestorage.com)粘贴过来。
自定义域名: 填写你刚才绑定的自定义域名,例如 https://photo.winboard.top
其他设置: 地区可以填 auto,ForcePathStyle 选关闭,ACL 选 public-read。
点击 确定 并设置为 默认图床。

第五步:测试效果

拖一张图片到 PicGo 的上传区,如果配置正确,你会看到上传成功的提示,并且链接已经自动复制到你的剪贴板。粘贴出来,就是你自定义域名的图片地址。

进阶:给你的图床穿上“防护甲”

虽然 Cloudflare 不收流量费,但我们依然要防止恶意盗刷(虽然刷的是你的免费额度,但可能影响性能)。
设置缓存规则: 在 Cloudflare 仪表盘的 规则 -> 页面规则 中,为 photo.winboard.top 设置 缓存级别为“缓存所有内容”,并设置较长的 边缘缓存 TTL(例如 1 个月)。这样大部分图片请求都由 CDN 缓存处理,不会频繁回源到 R2。
开启防盗链: 在 安全性 -> WAF 中,创建规则,设置 Referer 必须包含你的域名,防止其他网站直接引用你的图片。

总结

相信从今天起,你终于可以摆脱图床焦虑了。
Cloudflare R2 凭借10GB免费存储、1000万次免费读取、以及最重要的——零出口流量费,配合 Cloudflare 强大的全球网络,真正实现了“图片自由”。再也不用担心流量攻击导致破产,也不用担心图床跑路导致文章废掉。
如果你也受够了图床的折腾,不妨花 30 分钟试试这套方案。相信我,这是你最后一次迁移图床。

发表评论