引言:图床被刷的噩梦,有解了!

搭建个人博客或网站,图片和静态资源的托管是个绕不开的话题。传统的对象存储服务商(如七牛云、又拍云等)通常会提供一部分免费额度,看起来非常诱人。但用过的人都知道,这背后隐藏着一个巨大的风险——流量盗刷

一旦你的图片链接被恶意盗用,或者遭遇攻击,瞬间产生的天价流量账单足以让人心惊肉跳。这种情况在网络上屡见不鲜,让人用起来总感觉不太踏实。

那么,在这个充满“套路”的互联网世界里,有没有一款真正让人安心的、不怕被刷的对象存储服务呢?

答案是肯定的,而且提供者还是那位大家熟悉的“互联网慈善家”——Cloudflare,它的名字叫 R2 对象存储

Cloudflare R2搭建永久免费的个人图床

CLoudFlare R2 对象存储

Cloudflare R2 的核心优势在于其打破了行业惯例:免收出口流量费。这意味着,无论你的图片被访问多少次,下载了多少数据量,Cloudflare 都不会向你收取一分钱的流量费用。

它与 Amazon S3 兼容,可以无缝对接各种现有工具。这彻底解决了传统图床的三大痛点:

  • 流量无忧:不再担心因意外爆红或恶意攻击而产生巨额流量账单。
  • 速度尚可:依托 Cloudflare 庞大的全球网络,虽然在国内的速度不如专业CDN,但实测白天下载速度可达 50MB/s,足以满足绝大多数个人站长的需求。
  • 生态完善:完美兼容 S3 标准 API,可以轻松接入市面上几乎所有的主流图床管理工具。

更令人心动的是,R2 提供了一个相当慷慨的免费套餐,对于个人用户来说,几乎等同于永久免费。以下是 R2 的核心定价与免费额度详情:

计费维度免费额度超出部分费用形象化理解
存储空间10 GB / 月每 GB $0.015 美元足以存放约 5 万张压缩后的博客配图
A类操作 (写)100 万次 / 月每百万次 $4.50 美元每天可上传/覆盖 3.3 万次,个人用户完全够用
B类操作 (读)1000 万次 / 月每百万次 $0.36 美元每天可被读取 33 万次,费用极低
出口流量完全免费$0这是 R2 最核心的优势,彻底杜绝流量盗刷风险

R2免费使用量及超出定价

看到这里,可能有人会抬杠:“那读请求次数被刷爆怎么办?” 仔细看表格,超出 1000 万次后,每百万次的费用仅为 0.36 美元(约合人民币2.6元)。这个成本极低,更重要的是,试问谁会花费巨大成本去攻击一个几乎不产生收益的请求次数呢?

当然,如果你追求极致的安心,我们会在后面的步骤中介绍如何通过 Cloudflare 强大的规则系统,进一步为你的图床加上“多重保险”。

实战部署:零成本开启你的 R2 图床之旅

下面,我们将一步步带你完成从创建到防护的全过程。

第一步:创建 R2 存储桶

  1. 访问 Cloudflare 官网 并登录你的账户。如果你还没有,注册一个非常简单。
  2. 在控制台左侧菜单栏找到 R2 对象存储 并进入。
  3. 首次使用需要绑定支付方式:根据提示,添加一张支持国际支付的信用卡(Visa/Mastercard)或 PayPal 账户。这是为了验证身份,只要你的使用量在免费额度内,就不会产生任何扣费。
  4. 绑定成功后,点击 创建存储桶 按钮。
  5. 在弹出的窗口中配置:

    • 存储桶名称:取一个全球唯一的名称,例如 my-blog-images-2026

    • 位置:可以选择 亚太地区,对于国内访问速度稍有优势。

    • 默认存储类:保持默认的 标准 即可。

  6. 点击 创建存储桶,一个属于你的云端存储空间就诞生了!现在,你已经可以直接在网页端上传和下载文件了。

存储桶信息

第二步:配置自定义域名(可选但推荐)

为了让你的图片链接更美观、更可控,建议绑定一个自己的域名。

  1. 确保你的主域名(例如 yourdomain.com)已经托管在 Cloudflare。
  2. 在 R2 存储桶的详情页,找到 设置 选项卡。
  3. 自定义域名 区域,输入你的图床专用子域名,例如 img.yourdomain.com
  4. 点击 连接域名,Cloudflare 会自动为你添加 DNS 记录并启用 HTTPS。

配置自定义域名

第三步:生成 API 密钥

为了使用 PicGo 等桌面工具管理图片,你需要生成 API 凭证。

  1. R2 对象存储 的主界面,点击右侧的 管理 API 令牌

    管理 API 令牌

  2. 点击 创建 API 令牌

    创建 API 令牌

  3. 权限选择 管理员读和写(如果只为单个桶使用,也可选择“对象读和写”并指定桶名,更安全)。

    Snipaste_2026-03-09_14-28-58_min

  4. 创建成功后,务必妥善保存显示的 访问密钥 ID机密访问密钥。这些信息稍后需要填入图床管理软件中。

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

尽管 R2 本身已极大降低了被刷的风险,但通过以下三步设置,可以让你真正做到高枕无忧。

1. 设置缓存规则,降低源站压力

通过设置缓存策略,让 Cloudflare 的边缘节点尽可能地响应图片请求,进一步减少对 R2 的直接读取次数。

  • 进入你的域名管理面板。

  • 找到 规则 -> 页面规则,点击 创建页面规则

    创建页面规则

  • URL:输入你的图床域名,例如 https://img.yourdomain.com/*

  • 缓存级别:设置为 缓存所有内容

  • 边缘缓存 TTL:设置为 1个月(或根据你图片更新频率调整)。

  • 浏览器缓存 TTL:设置为 1天

  • 点击 保存

设置缓存规则

2. 设置速率限制,拦截恶意请求

通过限制单个 IP 的访问频率,可以有效防止有人使用脚本大量抓取你的图片。

  • 进入域名管理面板,找到 安全性 -> 安全规则 -> 速率限制规则

    创建速率限制规则

  • 点击 创建规则

  • 规则名称:随意,如 “img-rate-limit”。

  • 如果请求匹配…:选择 字段URL 路径运算符包含/

  • 当速率超过…:设置为 100时间周期10秒钟。(这个值可根据你网站的访问量调整,避免误伤正常用户)

  • 然后采取措施…:选择 阻止

  • 点击 部署

速率限制规则

3. 设置防盗链,拒绝外部引用

如果你不希望其他网站直接引用你的图片链接,可以启用防盗链。

  • 进入域名管理面板,找到 安全性 -> 安全规则 -> 自定义规则
  • 点击 创建规则
  • 规则名称:随意,如 “img-hotlink-protection”。
  • 如果传入请求匹配…
    • 第一个条件:主机名 等于 img.yourdomain.com
    • 点击 And 添加第二个条件:引用来源 不等于 www.yourblog.com(替换为你自己的博客域名)。
    • 为了更严谨,可以再添加一个 And 条件:引用来源 不等于 yourblog.com(无 www 的版本)。
    • (可选)添加一个 And 条件:引用来源 不为空,以避免直接访问链接也被阻止。
  • 然后采取措施…:选择 阻止
  • 点击 部署

设置防盗链

CloudFlare-ImgBed 配置 R2 渠道

这里还可以用到我们之前搭建的 CloudFlare-ImgBed 图床程序,搭建教程具体文章可以看:免费!用HuggingFace搭建100G超大图床+网盘,大文件随便传,无需实名!

服务器部署时默认添加了 Cloudflare R2 存储方式,以下步骤仅针对 Cloudflare 部署方式:

  1. 在项目设置中绑定 R2 存储桶:

    • 选择 “设置” → “绑定”
    • 添加 “R2 存储桶”
    • 变量名称img_r2
    • R2 存储桶:选择已创建的存储桶

    Snipaste_2026-03-09_14-55-13

  2. 在管理后台配置:

  • 进入 “系统设置” → “上传设置”
  • 配置 R2 渠道参数
  • 如需图像审查,填入 R2 公开访问链接

配套工具:解锁 R2 的强大生态

由于 R2 兼容 S3 API,几乎所有支持 S3 协议的工具都能直接使用它,这极大地丰富了你的选择:

  • 桌面端管理PicGo —— 配合 S3 插件,实现一键上传、自动复制链接。
  • 网盘/目录程序Alist —— 可以将 R2 挂载为网盘,实现在线预览和分享。
  • 自建图床系统兰空图床简单图床 等均支持 S3 存储。
  • WordPress:安装支持 S3 的插件(如 WP Offload Media),即可将媒体库自动同步到 R2。

至此,一个安全、免费、几乎不怕被刷的个人专属图床就搭建完成了。现在,你可以放心地为你的博客或网站上传图片,再也不用为流量账单而提心吊胆了。

欢迎留言