无需服务器、免流量费、10GB存储空间,个人图床的终极解决方案

在当今内容创作时代,一个稳定高效的图床是每个博主和开发者的刚需。Cloudflare 作为“赛博菩萨”,其 R2 对象存储服务提供了10GB免费存储+免出口流量费的良心套餐,结合 Pages 的静态托管能力,可实现真正的零成本图床搭建。本文将详细介绍基于开源项目 CloudFlare-ImgBed 的部署全流程(2025年最新版)。


🔍 一、项目核心优势

CloudFlare-ImgBedGitHub 项目地址)是一个开箱即用的图床解决方案,其技术架构如下:

组件技术方案免费额度 (Cloudflare)
前端Vue.js 响应式设计-
后端 APICloudflare Workers 无服务器架构每日 10 万次请求
存储R2 对象存储 (S3 兼容)10GB 存储 + 100 万次写操作/月
数据库Cloudflare KV (元数据存储)1000 万次读操作/月
托管Cloudflare Pages无限带宽 + 自定义域名

亮点功能

  • 支持网页拖拽上传 & API 接口调用
  • 图片压缩(非破坏性优化)
  • 链接格式一键复制(Markdown/BBCode/HTML)
  • 密码保护和访客上传控制
  • 多级目录管理

⚙️ 二、部署前准备

  1. 基础账户
  • GitHub 账号(用于 Fork 项目)(注册入口
  • Cloudflare 账号(注册入口

    以上注册方法很简单,只要有个邮箱即可。
  • 域名要求
  • 一个自定义域名(需托管到 Cloudflare DNS)
  • 可选二级域名(如 img.yourdomain.com
  • 支付验证
  • 国际信用卡(Visa/MasterCard)或 PayPal 账户
  • 仅用于激活 R2 服务(10GB 内不会扣费)

🚀 三、详细部署步骤(2025最新界面)

步骤 1:创建 R2 存储桶

  1. 进入 Cloudflare 控制台 → R2对象存储创建存储桶
  2. 参数配置:
  • 名称imgbed(自定义)
  • 位置亚太地区(延迟更低)
  • 存储类标准(免费额度适用)
  • 开启公共访问:
  • 桶设置 → 公共访问 URL → 点击 启用

步骤 2:部署 Pages 项目

  1. Fork 项目
  • 访问 MarSeventh/CloudFlare-ImgBed
  • 点击右上角 Fork 到你的 GitHub 仓库
  • 创建 Pages 服务
  • Cloudflare 控制台 → (计算)WorkersWorkers 和 Pages创建应用Pages
  • 连接 GitHub → 选择 Fork 的仓库
  • 构建设置:
配置项说明
项目名称cloudflare-imgbed(或自定义)项目标识符
生产分支main生产环境分支
构建命令npm install重要:v2.0 新构建命令
构建输出目录/保持默认
  • 点击 部署,大概1-2分钟左右部署成功。
  • 绑定自定义域名
  • Pages 项目 → 自定义域 → 添加域名(如 img.yourdomain.com
  • 注意:国内用户必须绑定自定义域名,避免 *.pages.dev 无法访问

步骤 3:关键配置绑定

  1. 创建 KV 数据库
  • 存储 和 数据库 → KV → 页面右上角 Create Instance
  • 名称填写 img_url(必须一致)→ 点击创建
  1. 绑定到 Pages
  • Pages 项目(刚才创建的项目) → 设置绑定添加
  • 变量名img_url → 选择刚创建的 KV
  • 变量名img_r2 → 选择 R2 存储桶
  • 点击保存
  • 重新部署部署 → 点击 生成 下的:查看详细信息 → 右上角 管理部署 重试部署
  • 设置访问密码(防滥用):

    这里也可以到图床的管理页面进行设置:进入图床管理页面以后,点击系统设置 → 安全设置。
  • Pages 项目 → 设置变量和机密 → 添加:
  • AUTH_CODE:自定义上传密码(字母+数字)
  • BASIC_USER:管理员账号
  • BASIC_PASS:管理员密码

    以上设置完成后,浏览器中输入刚才绑定好的域名访问图床网站。
    重要说明:
    进入网站后到系统设置内的 安全设置 中,设置好后台用户名和密码以及图床访问密码。
    上传设置: 修改为CloudFlareR2 公开访问链接:https://绑定的域名
    网页设置: 默认URL前缀设置为绑定的域名+/(https://img.xxx.xxx/)

🔐 四、高级安全优化

  1. 防盗链设置
  • Cloudflare 控制台 → 安全WAF自定义规则
  • 添加规则:
字段:主机名 → 等于 → img.yourdomain.com
AND 引用方 → 不等于 → www.yourblog.com
操作:阻止
  1. 防刷流量策略
  • 速率限制安全 → WAF → 速率限制规则
  • 规则:10秒内超过100次请求 → 拦截
  • 缓存优化缓存 → 页面规则 → 创建规则
  • URL:img.yourdomain.com/*
  • 边缘缓存 TTL:1个月
  • 国内访问加速
  • DNS 设置中启用 中国区域优化
  • 添加 A记录 指向优选 IP(如 172.67.213.27

🖼️ 五、使用图床的三种方式

  1. 网页端上传
  • 访问你的图床域名(如 img.yourdomain.com
  • 输入 AUTH_CODE 后拖拽上传
  • 支持批量传图 + 目录管理
  • API 接口调用
curl --location --request POST 'https://img.yourdomain.com/upload' \
--header 'Authorization: Bearer YOUR_AUTH_CODE' \
--form 'file=@"image.jpg"'
  1. 搭配工具使用
  • PicGo:安装 S3 插件,配置:
  • Endpoint: https://img.yourdomain.com
  • AccessKey/SecretKey:从 R2 API 令牌获取
  • Alist:挂载 R2 作为存储策略

💡 六、常见问题排错

  • 部署失败 → 检查构建命令是否为 npm install
  • 图片无法访问 → 确认 R2 桶的公共访问已启用
  • 国内加载慢 → 更换域名 DNS 解析至优选 IP
  • API 上传 403 → 验证 AUTH_CODE 和 R2 绑定变量名
⚠️ 重要提示:每月操作次数限制(100万次写入/1000万次读取)对个人完全够用,但建议开启安全防护避免恶意刷量!

🌈 结语

Cloudflare R2 + Pages 的组合真正实现了零成本、免运维、永久可用的图床方案。通过本文的保姆级教程,30分钟内即可完成部署。无论是个人博客配图,还是项目静态资源托管,这套方案都能提供企业级的可靠服务。

扩展阅读