前置知识:本KM的图库与附件都是用Lsky Pro作为图床,而Lsky Pro使用的又是cloudflare R2进行存储

# 链路
KM --> Lsky Pro --> Cloudflare R2

国内访问R2速度是很不确定的,为了保证国内的加载速度,今日站点已接入阿里云的ESA加速图库的访问。顺便记录一下

Cloudflare 准备:

创建桶

创建API

  • 这里只考虑R2的读取,如果需要配置图床请设置为对象读和写

  • 如果你需要指定桶可自行设置

ESA设置:

添加站点

加速区域:
如果你的站点已经有备案可以选择国内与全球加速,否则只能选择不含国内的全球加速

接入方式:
推荐使用CNAME

选择套餐

由于我已经创建过了,免费的额度已经用完。一般来说免费已经够用了

回源设置

主机记录:你需要作为访问的地址

记录值:S3兼容

回源方式:私有

源站地址:<桶名称>.<你的终结点>.r2.cloudflarestorage.com
这个在你创建API的时候可以看到,也可以在API管理入口看到:S3 API

秘钥:
Access Key ID:访问密钥 ID
Secret Access Key:机密访问密钥

CNAME设置:

到你的DNS管理商添加指向ESA的记录

免费的只能申请Let's Encrypt

托管 DCV:

这个设置相当于授权ESA帮你代为申请SSL证书,现设置这一步,后续申请就不需要自己管了

配置CNAME

更加详细的说明可以看官方文档:https://help.aliyun.com/zh/edge-security-acceleration/esa/user-guide/managed-dcv

主机值:根据你申请的证书类型,我这里填写_acme-challenge.
<hostname>就是你的二级域名,这里应该与回源主机一致,所以我完整的记录值就是:_acme-challenge.static-io

记录值:<二级域名>.xxxxxxxx.dcv.aliyun-esa.com

验证

打开你的终端输入dig _dnsauth.<hostname> CNAME

引用官方文档里的内容

执行结果:

QUESTION SECTION(请求的部分):_dnsauth.a.example.com

ANSWER SECTION(响应的部分): a.example.com.******728815680.dcv.aliyun-esa.com

若响应的部分与您配置的记录值一致则表示配置已生效。

SSL设置:

设置好DCV后这里你只需要点申请就可以了


至此R2+ESA配置完毕,如果使用腾讯云EO(EdgeOne)配置上大同小异。完成配置后无论是中间使用图床还是直连,只要访问ESA链接都能达到相同的效果