搭建免费高速图床 CLoudFlare R2 +PicGo方案
前言
什么是图床
将图片上传到服务商或个人远程服务器,通过网络地址直接访问的技术方案。适用于以下场景:
- 快速将图片插入文章内容
- 统一管理图片资源
- 便于图片迁移与分享
技术方案选择
Cloudflare R2
- 免费额度:10GB/月存储容量(按30天日均存储峰平均值)
- 超额单价:$0.015/GB/月
- API免费限制:
- 每天100万次B类事务(文件下载、元数据查询等)
- 每天1000万次A类事务(创建/列举存储桶等)
PicGo客户端
- 开源图片上传工具
- 支持S3协议适配
- 剪贴板自动复制链接
准备事项
账号准备
- 注册Cloudflare账号
- 需绑定付费计划(选择0元免费层级防止误扣费)
- 完成账号二次验证
域名准备
- 注册域名:
- 建议使用低成本年费域名(如.xyz域名)
- 可使用二级域名拆分(例:img.yourdomain.com)
- 托管方案:
- 若域名不在CF托管,需设置NS/CNAME记录转发
搭建流程
Cloudflare R2 配置
打开Cloudflare,选择R2对象存储
2. 创建储存桶

桶设置
PS:如果域名不托管在CloudFlare,可以单独托管二级\三级域名,只需要给二级域名添加一条NS记录指向原托管即可。
* 选择设置
* 选择位置:根据自己位置选择
* 添加自定义域,继续
* 最好再选择:连接域
* R2.dev 子域:允许访问
* 之后就能浏览器 https://<自定义域名>/<文件名>访问存储桶里的文件了。




API令牌生成
1. 管理API令牌
2. 创建API令牌
3. 创建API令牌完成
1. 输入令牌名称
2. 选择权限
3. 指定存储桶
4. 完成




picGo设置
在插件设置中,添加常用插件。
S3插件:用来登录S3的图床

安装好后,图床设置 => Amazon S3 => 新增设置

这里有几项配置需要尤其注意。
应用密钥 ID,填写 R2 API 中的 Access Key ID(访问密钥 ID)
应用密钥,填写 R2 API 中的Secret Access Key(机密访问密钥)
桶名,填写 R2 中创建的 Bucket 名称,如创建R2的桶的名字 img
文件路径,上传到 R2 中的文件路径,这里选择使用 {fileName}.{extName} (或者{fullName})来保留原文件的文件名和扩展名。
自定义节点,填写 R2 API 中的「为 S3 客户端使用管辖权地特定的终结点」,即 xxx.r2.cloudflarestorage.com格式的 S3 Endpoint
自定义域名,填写上文生成的https://xxx.r2.dev格式的域名或自定义域名,如我配置的https://img.a.com
ForcePathStyle:no关闭,否则会在最终路径里面显示有桶名。
拒绝无效TLS证书连接 :yes开启,如果出现证书错误可以关闭
ACL访问控制列表:public-read
Bucket前缀:false
完成上述配置后,我们就可以在「上传区」直接拖入文件进行图片上传了,如上传后显示无误则为配置成功,生成的链接会自动在系统剪贴板中,直接在需要的地方粘贴即可。
如果配置确定没有问题,上传失败,请重启PicGo再试
设定缓存规则
缓存规则一般设定两个:浏览器缓存和边缘缓存。
浏览器缓存:访问后,所需文件储存在浏览器的本地目录,在一段时间内,再次访问优先访问本地文件
边缘缓存:访问后,缓存在最近的CDN存一份,在一段时间内,优先访问CDN中的文件
- 进入域名页面->规则->页面规则
- 部署页面规则


防盗链设置
只能通过指定的网站来访问(防君子不防小人,可以伪造refer信息,照样刷流量)。但是还是有点作用,比如别人爬取文章盗用的时候,图片是无法访问的。
* 安全性->WAF,创建规则
* 部署WAF规则








