使用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令牌

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

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


这里要填入的参数如下:
设定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一样,直接照抄过来就可以了
- 原站地址这里要注意一下,是
- 选择公共访问(这是你在设置了自定义域或者公共开发URL的情况下才去选)

设置好后添加CNAME,如果你的域名托管在Cloudflare要注意不要开启小黄云。
添加SSL证书
之后你可以开启https配置,这样你就完成了。

接下来你就可以把PicList中的自定义域换成你刚才在ESA或EdgeOne设置的域名,例如我的esa-img.050826.xyz
结语和感想
最终也是把所有的东西给弄好,这样国内也能够快速访问了。
PicList还能够和其他软件进行联动,能够更加方便地进行上传,具体参考PicList的文档。
这里要注意一下,CloudflareR2免费套餐每月 10GB 存储,100万次 Class A、1000万次 Class B 操作,出站免费

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