AI 摘要
想拥有自己的免费图床?这篇文章教你如何利用Cloudflare Pages和GitHub上的CloudFlare-ImgBed项目,搭建一个永久免费、全球加速的图床。它能彻底解决个人博客服务器硬盘不足的困扰,无需额外付费或占用服务器资源。该方案通过Cloudflare Pages托管,利用R2或Telegraph等免费接口存储图片,并借助Cloudflare全球CDN加速。核心优势是零成本、不依赖自有服务器、可视化管理和极速访问。搭建过程简单,但需注意数据安全、合理使用配额及国内访问速度,建议上传前压缩图片。

还在为服务器硬盘发愁?教你用 Cloudflare Pages 搭建永久免费图床!

在前两篇文章中,我们搞定了域名接入和 SSL 安全设置,网站已经跑得飞快了。
但是,作为一个刚刚起步的个人博客,我们很快就会面临一个新的焦虑:服务器硬盘太小了!

一般的 VPS 只有 20G 左右的硬盘,如果我们要在文章里放很多高清大图或者一些文件,没几天硬盘就红了。而且,万一哪天要迁移服务器,搬运这些图片简直是噩梦。

有没有一种方案,既不用花钱买存储对象(OSS/S3),又不需要占用服务器空间,还能有可视化界面直接上传图片呢?

有!今天我们就来介绍 GitHub 上的神级项目:CloudFlare-ImgBed
感谢大佬 MarSeventh 的开源贡献,让我们得以实现这个想法~


原理揭秘:它是怎么工作的?

简单来说,这个项目利用了 Cloudflare 的 Pages 服务来托管前端页面和后端逻辑。

  • 前端:提供一个漂亮的网页,让你能拖拽上传图片。
  • 后端:默认利用 CF 的 R2 存储桶、Telegraph 等存储方式(Telegram 旗下的发布平台)的免费接口来存储图片,并通过 Cloudflare 的全球网络进行加速。

省流总结:

  • 0 成本:完全免费,构建简单。
  • 0 服务器:不用占用你自己服务器的任何资源。
  • 可视化:有个像样子的后台管理界面。
  • 速度快:CF 全球 CDN 加速。

第一步:Fork 项目到你的 GitHub

首先,你需要有一个 GitHub 账号,Fork 一下这个项目。

  1. 打开项目地址:MarSeventh/CloudFlare-ImgBed
  2. 点击右上角的 Fork 按钮。
  3. 点击 Create fork,把这个项目“叉”到你自己的仓库里。

Fork示例


第二步:在 Cloudflare Pages 部署

  1. 登录 Cloudflare 后台
  2. 在左侧菜单找到 【Workers 和 Pages】
  3. 点击蓝色的 【创建 (Create)】 -> 选择 【Pages】 标签 -> 【选择一个存储库】
  4. 选择你刚才 Fork 的那个仓库 CloudFlare-ImgBed,点击 开始设置
    选择示例

选择示例2

关键设置环节:

  • 项目名称:随便填,比如 miku-img
  • 生产分支:默认 main 即可。
  • 构建设置完全不用动! 保持默认即可。
  • 构建命令:填写 npm install注意:这里必须填!

直接点击 【保存并部署 (Save and Deploy)】

构建示例

等待几十秒,当看到“成功!”的绿色对勾时,你的图床就已经基本完成了!

进阶设置提醒:
虽然部署好了,但我们还需要一些别的设置(比如连接 R2 存储桶)。我们可以查看作者的文档来进行相对应的设置。

点击查看官方配置文档


第三步:设置后台账号密码(重要)

默认情况下,谁知道了你的网址都能往里传图,这可不行,如果是自己博客使用的话,我们需要设置一个管理员账号。

点击页面上的 设置(或访问你的图床地址),确保我们的站点不会被恶意使用。

注意: 第一次使用时账号和密码均为空,自行登录后修改即可。

修改示例


第四步:绑定自定义域名

虽然 CF 分配了一个 xxx.pages.dev 的域名,但为了逼格和长久考虑,我们最好用自己的二级域名,方便好看【doge】。

  1. 在 Pages 项目页面,点击 【自定义域 (Custom domains)】
  2. 点击 【设置自定义域】
  3. 输入你想用的域名,比如 img.example.com
  4. 点击继续,Cloudflare 会自动帮你添加一条 DNS 记录。
特别提醒:
别忘了去 Cloudflare 的 DNS 设置 里面检查你的二级域名,确保添加了 A 记录(主机名填 img 或你设置的前缀),否则可能无法访问。

等待几分钟,访问 https://img.example.com,你就会看到那个熟悉的上传界面了!登录后,你就可以愉快地拖拽上传图片,并直接获取 MD 或者直链格式的链接。

成功示例


避坑与注意事项

虽然这个方案很香,但作为一个负责任的博主,我有必要告诉你它的局限性:

  1. 数据安全性
    如果你使用的是 Telegraph 的接口,虽然免费,但图片理论上不在你自己的控制手中。如果哪天 Telegraph 倒闭了或者接口变了,图片可能会丢失。

    • 建议:用来存博客配图完全没问题(记得本地留个底),但千万别存私密照片!
  2. 适度薅羊毛
    虽然 CF 不限制流量,但限制了文件存储容量和访问次数(R2 也是有免费额度的)。请注意自己的配额,不要滥用作为大文件存储,做一个优雅的互联网公民。
  3. 引用限制
    有些国内平台(如微信公众号、知乎)可能会拦截 Telegraph 的图片源,但在你自己的独立博客上使用是完全没问题的。
  4. 国内访问速度(重要)
    由于 Cloudflare 在国内存在“众所周知”的网络连接限制,部分地区直连访问可能会比较慢。

    • 建议: 强烈建议在上传前使用压缩工具对图片进行压缩,减小体积。一张 5MB 的原图和一张 200KB 的压缩图,在弱网环境下的加载体验是天差地别的!这能有效避免访客因加载太慢而无法正常预览图片。

总结

至此,你已经拥有了一个“无限容量、全球加速、带有管理后台”的免费图床。
以后写文章,只需要把图片往浏览器里一拖,复制 Markdown 链接,粘贴到 Typecho 里,行云流水,一气呵成!

你的服务器硬盘终于可以松一口气了!

下一篇预告:网站有了,图片有了,如何在对接搜索引擎对你的网站进行收录和爬取?