使用Cloudflare R2搭建图床并用阿里ESA/腾讯EdgeOne进行加速

1427 字
7 分钟
使用Cloudflare R2搭建图床并用阿里ESA/腾讯EdgeOne进行加速

前言#

为了博客有更好的画质,也为了减小存储空间,所以使用图床来改善;经过考量,决定使用Cloudflare搭建图床,用PicList来上传图片,并用国内ESA/EdgeOne来加速图片加载

操作前准备:

  • 能够在Cloudflare使用的支付方式
  • 一个域名
  • 充足的时间

建立一个Cloudflare R2存储桶#

点击存储与数据库—> R2对象存储 —> 概述,再点击创建存储桶

操作步骤
操作步骤

确定好存储桶名称,如果想改地区的话也可以改,不过这个存储桶的地区不一定是你设置的那个地区,我一般会选择亚太地区。

创建存储桶名称和地区
创建存储桶名称和地区

创建完成后有两种选择,如果你的域名是托管在Cloudflare的话就是用自定义域方便一点,如果你的域名不是托管在Cloudflare的话只能选择公共开发URL,我建议是托管在Cloudflare好一些吧。我会用自定义域作为主要展示。

当然,如果你要使用EdgeOne和ESA的私用访问的话这个自定义域和公共开发URL不是必要的,不过也推荐你先启用公共开发URL,等待你设置好EdgeOne或ESA之后将之前用到公共开发URL的地方换成你在EdgeOne或ESA设置好的域名

创建完成后如图所示

自定义域
自定义域

使用 PicList 上传图片#

创建Cloudflare API tokens#

之前我是使用 PicGo 的,但是因为PicGo无法直接删除云端图片所以便使用了PicList,打开之后需要在任务栏打开主界面。由于Cloudflare R2兼容S3,所以我们使用S3接口,首先前往Cloudflare创建API Token。

如图所示进入API管理界面

进入API管理界面
进入API管理界面

点击创建API令牌

创建API令牌
创建API令牌

选择对象读和写,并选择刚才创建的存储桶

API令牌设置
API令牌设置

配置PicList#

接着打开PicList的AWS S3配置,将Cloudflare的API token信息填入

打开配置
打开配置

API配置
API配置

这里要填入的参数如下:

  • 设定AccessKeyId:填入Cloudflare的访问密钥ID
  • 设定SecretAccessKey:填入机密访问密钥
  • 设定Bucket:填入你设定的存储桶的名称
  • 设定上传路径:默认是带时间文件夹的,重命名为md5的路径,你也可以修改为{year}/{month}/{fileName}.{extName},这样表示图片名称还是原来的那个,具体设置可以参考PicList文档
  • 设定Region:填入auto
  • 设定自定义节点:填入终结点
  • 设定自定义域名:填入你在Cloudflare设置的自定义域或者公共开发URL。或者之后你在ESA或EdgeOne设置的域名

这样你就可以在PicList上传图片了。

使用ESA/EdgeOne加速国内访问#

添加站点记录#

如果你不在意速度的话,完成上面两步就可以了,但是如果你想访问快一点的话,那就使用阿里云的ESA或者腾讯云的EdgeOne来进行加速,这两个都有免费版,ESA直接在套餐选择中选择免费版就可以了,而EdgeOne需要到小程序去领取一个兑换码。此外,还要注意一点,你的域名必须要备案才能够进行国内加速,如果没有备案,只能选择全球(不包含国内)

我这里以阿里云ESA为例进行说明,EdgeOne的配置也是差不多的,可以作为参考。

首先打开阿里云的ESA控制台,点击站点管理,再点击新建站点

新建站点
新建站点

添加站点的时候要注意一下,如果你在CloudflareR2使用的是自定义域的话就选择CNAME,如果你是用公共开发URL的话就任意都可以,套餐就选择免费版,免费版就足够我们使用了。

我这里选择的是CNAME,在DNS添加TXT记录后就能够正常配置。

添加DNS记录#

点击配置DNS记录添加你拥有的域名来加速

  • 记录类型为CNAME
  • 主机记录选择你想要用户访问的域名
  • 记录值/源站选择S3兼容
  • 回源类型有两种方式:
    • 选择公共访问(这是你在设置了自定义域或者公共开发URL的情况下才去选)
      • 只需要在源站地址中填入你在Cloudflare设置的自定义域或者公共开发URL。
      • 如果你在这里用到了自定义域或者公共开发URL就不能把它禁用了
    • 选择私有访问(不需要自定义域和公共开发URL)
      • 原站地址这里要注意一下,是<存储桶名称>.<S3终结点>,例如:test-r2.abcdefg123456789.r2.cloudflarestorage.com
      • 区域填auto
      • AccessKeyId和SecretAccessKey填入的信息和PicList一样,直接照抄过来就可以了

阿里云S3API设置
阿里云S3API设置

设置好后添加CNAME,如果你的域名托管在Cloudflare要注意不要开启小黄云。

添加SSL证书#

之后你可以开启https配置,这样你就完成了。

申请免费证书
申请免费证书

接下来你就可以把PicList中的自定义域换成你刚才在ESA或EdgeOne设置的域名,例如我的esa-img.050826.xyz

结语和感想#

最终也是把所有的东西给弄好,这样国内也能够快速访问了。

PicList还能够和其他软件进行联动,能够更加方便地进行上传,具体参考PicList的文档

这里要注意一下,CloudflareR2免费套餐每月 10GB 存储,100万次 Class A、1000万次 Class B 操作,出站免费

免费套餐标准
免费套餐标准

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

使用Cloudflare R2搭建图床并用阿里ESA/腾讯EdgeOne进行加速
https://blog.backsoon0.top/posts/img-host-construction/
作者
Backsoon0
发布于
2026-01-21
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Backsoon0
我要什么,我不知道,我不是无欲无求,我只是不知所求。
公告
正在搭建网站
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
4
分类
3
标签
4
总字数
5,182
运行时长
0
最后活动
0 天前

目录