AI摘要
明确需求
目前呢,我自己在用的cdn有三个,阿里云的ESA,腾讯的EdgeOne,Cloudflare,而前两个是国内企业,备案后域名在国内支持非常好,但国内节点对待国外用户又有些捉襟见肘,于是有了网站自动分流的需求。
NS设置
这边建议把域名NS托管到阿里云(也可是其他带分流的NS服务商,但CF没有,所以如果域名在CF就改到别的地方)
CDN设置
Cloudflare
由于CF特性,想要使用加速服务需要绑定一个域名到CF,但分流又不可以绑定要用的域名,所以建议去获取一个免费的ip6反解域名作为辅助域名,现在SSL被Ban了,不过没关系,只要在服务器不开启强制https访问即可。
添加完ip6的反解域名先去DNS下添加你的服务,名字可以随便取,记得就行,同时开启小黄云
还没结束,自己添加一个名称随便,CNAME到www.shopify.com的仅DNS记录(也就是关掉小黄云)
这一步是为了优选ip,加快速度
现在进入SSL下的自定义主机名
好像是要验证信用卡或是PayPal,没能力通过自行咸鱼搜索,正常使用不收费,包含100个子域名,基本用不超
然后设置一个回退源,写你名下随便一个绑定你服务器的辅助域名
然后添加自定义主机名,自定义主机名就是你的分流域名,证书验证方式选HTTP,不怕麻烦就选TXT,自定义源服务器填绑定你这个服务的辅助域名,如file.imsuk.cn想访问我的文件网站,而绑定文件网站的是file.0.1.1.1.9.1.0.0.0.7.4.0.1.0.0.2.ip6.arpa,就填这个。完成后点添加,服务器不用配置,回源用的是自定义主机名。
配置完服务后去DNS配置商,添加CNAME记录,值就是你CNAME到www.shopify.com的域名,如我的是cname.0.1.1.1.9.1.0.0.0.7.4.0.1.0.0.2.ip6.arpa,主机记录正常填
现在,CF的配置完成了
ESA
首先去ESA控制台新增你的站点,选CNAME接入并验证
配置好站点后,点击站点名称进入设置
找到托管 DCV设置,复制记录值,打开你设置DNS的地方(如阿里云DNS解析),添加一个_acme-challenge为记录,你的根域名+记录值为记录值的CNAME记录,像我这样
配置完成后在上方证书管理中申请Let's Encrypt的免费证书,在证书域名中输入*并点击下面的泛域名,然后点击确定进行SSL证书的申请
完成后即可正常添加服务,添加完后会得到一个类似*.a1.initxa.com的CNAME地址,去DNS配置商添加CNAME配置,其他正常填,但请求来源这里记得选上中国地区
EdgeOne
也是一样,去控制台添加你的站点并验证配置,同样,这里记得选CNAME接入
配置完成后直接正常添加你想添加的服务,会得到一个类似*.cn.eo.dnse1.com的CNAME地址
然后去DNS配置商加上CNAME记录,这里也是一样,选上中国地区,但权重调到2,这样EO的SSL签发成功率会更高,而且我个人认为,EO的速度比ESA要快一些,所以推荐权重调高些
添加完成后回到EO控制台,点击HTTPS配置,选边缘HTTPS证书,然后选申请免费证书里的CNAME
点击保存,等待SSL证书下来,到此为止,我们的分流配置就结束了
测试
可以使用ItDog进行测试,但DNS更新会延迟,看到有不同的CDN提供商并且国内为腾讯或阿里云,国外为CF即可,过24小时会自动更新DNS
Handsome主题增加CDN显示
CDN设置
Cloudflare
进入辅助域名的规则
点击创建规则中的响应头转换规则,自己取个名,对所有请求,修改响应头中设置静态
Access-Control-Allow-Methods设置,Access-Control-Allow-Origin设置为.你的域名
EdgeOne
站点加速中的规则引擎中创建空白规则
匹配类型为HTTP请求头,自定义Origin等于.你的域名,操作为修改HTTP响应头,类型为设置,名称一个是Origin,一个Methods,Methods设置为,Origin设置为${http.request.headers["Origin"]}
然后保存发布
ESA
找到规则中转换规则的修改响应头新增规则
所有传入请求,静态变更。Access-Control-Allow-Origin为.你的域名,Access-Control-Allow-Methods为
点击确定保存
主题设置
在左下方或右下方底部添加
<div class="github-badge" id="cdn-badge">
<span class="badge-subject">本站由</span>
<span class="badge-value bg-green" id="cdn-provider">加载中...</span>
</div>这个是引入了CSS的代码,自行去网上搜索Handsome页脚徽标美化,加入CSS代码
自定义JavaScript中添加
具体效果看本站右下页脚























2 comments
补充:阿里云DNS不建议使用,建议使用腾讯DNSPOD,Edgeone选择DNSPOD接入可以自动写dns验证,这样和阿里云分流时cname不会冲突
纠错:::服务器返回的Access-Control-Allow-Origin是 .imsuk.cn,但这个配置是无效的——CORS 规范里Access-Control-Allow-Origin不支持通配符子域名(比如.imsuk.cn),只能写:
具体域名(如https://你的网站域名.com)
或全局通配符*(但不能和凭据请求混用)
所以浏览器会判定 *.imsuk.cn 不是合法的源,直接拦截请求,报 CORS 错误。