SamHou's Blog IconSamHou's Blog

EdgeOne 搭配 Cloudflare R2 自建优质图床

web开发2025-08-17

我就是手贱

利用腾讯云EdgeOne加速Cloudflare R2存储,解决国内访问慢的问题,提供免费图床方案。包含域名配置、HTTPS证书申请及PicGo插件使用教程,实现高效图片托管。

EdgeOne 搭配 Cloudflare R2 自建优质图床 封面

Cloudflare 赛博大善人我就不多说了,R2 10GB 存储空间,用来存博客图片这辈子都用不完。

然而,CF 的节点在国内的访问速度真的一言难尽,全跑美国了,加载个图片要等十几秒你敢信?

是时候让腾讯云出马了!它的海外版 EdgeOne 不仅免费,而且免备案,可用于加速 R2 的图片分发。

本博客就用了 Edgeone 加速 R2,虽然比不上 Vercel,但是无限流量用来做图床很好用(看看下面的对比吧,第一个 Vercel,第二个 EdgeOne,第三个纯 R2)。

这是 Vercel

这是 EdgeOne

这是 R2 自己

获取 EdgeOne

这部分很简单,直接打开 https://edgeone.ai/,然后获取免费套餐即可。需要注册一个账号。

需要注意的是 EdgeOne 会提示你测速然后分享才能获取免费版(也就是帮官方宣传一下,现在用的人少),实际上你测完速度之后点一下分享就好了,没必要真的把帖子发出去。

警告:不要滥用 EdgeOne。官方提示不允许免费套餐用于大文件传输,比如游戏安装包。仅供个人和小型企业开网站使用。

配置 EdgeOne

首先,你得有域名,才能激活 Edgeone。

这部分跟着提示走就行了,加速区域选全球可用(不含中国大陆)即可。

接下来你应该会看到这个界面,选择域名服务-域名管理,添加域名(我这里已经加了)。

管理面板

然后你会看到这个界面。加速域名自己选,然后回源选择对象存储。打开私有访问授权。

回源配置

现在重点来了,打开你的 R2 API 管理,整一个对象只读或者读写的 Key。指定你想用的存储桶,防止安全问题:

配置界面

然后你会得到你的 API,把 ID 和密钥分别填入 EdgeOne 的私有访问授权。地域你可以填 auto,或者你创建存储桶时候的地域。

示例

接下来,复制下面的那个终结点,然后在网址前面加上存储桶名称,改成

https://<存储桶名称>.123456abcdefg.r2.cloudflarestorage.com,填入 EdgeOne 的源站地址。保存。

然后根据提示去你的域名提供商那面配置 DNS 即可。

颁发 https 证书

现在你可以试试访问你的加速域名,会报 http 5 开头的错误。cf 会提示你 https 证书有问题。这是因为 EdgeOne 还没发证书,但是 R2 默认有证书。

那么我们来领取证书。

很难崩的事情是,我当初找了半天都没看见证书在哪里领,实际上你的屏幕不够长它会藏起来,你要先向右拖动:

领完了的样子

选择申请免费证书,等一会就能用了。

Picgo 食用指南

Picgo 可以自动上传图片,然后把图片直链或者 MD/html 格式的链接给你。

是的,你可以用 PicGo 的插件 picgo-plugin-s3 访问 R2,食用你的图床,提供自动重命名功能。本博客的图片都是按照时间戳来命名的,然而一通配置后输出的 URL 根本用不了。结果折腾几小时,发现是它自己的 Bug 我是真没想到。于是我就给作者交了个 Issue,见 #58

分享下规避这个 Bug,能用的配置。

  • 上传文件路径中,配置 {timestampMS}.{extName}
  • 设置输出图片 URL 前缀中,配置 https://img.samhou.top/(你的图片域名)

包好用的。相信我。