准备工作

使用此分流方案需要有多个辅助域名,每一个主域名的子域名都需要一个辅助二级域名

因为托管在CloudFlare免费计划中的每一个二级域名只支持添加一个Custom Hostnames的默认回退源

接下来我将使用以下域名进行演示:

同时,需要将腾讯云EgedOne的可用区设置为中国大陆

以下将腾讯云EdgeOne简称为“腾讯云EO”,将CloudFlare简称为“CF”

预期效果

实现对app1.sitemain.comapp2.sitemain.com 的国内外CDN分流,让国内用户访问时走腾讯的CDN,国外用户访问时走CF的CDN。在遭受DDOS攻击时,国内请求由腾讯云EO负责,国外请求由CF负责。

实现步骤

配置DNS服务器

对于主域名(即需要被分流的域名):由于国内只有腾讯云的DNSPOD支持分线路解析,所以主域名需要放在DNSPOD上解析(不知道阿里云等厂商支不支持分线路解析,如果可以的话也可以用阿里云等厂商的DNS服务器)

对于辅助域名:需要放在CloudFalre上解析

设置解析分流

先启用两个主域名的腾讯云EO服务,并在腾讯云EO中设置好加速域名的源站IP:假设腾讯云EO分配给app1.sitemain.com的CNAME地址为app1.sitemain.com.eo.dnse1.com ,分配给app2.sitemain.com的CNAME地址为app2.sitemain.com.eo.dnse1.com

CF中手动设置的辅助分流域名为app1.site111.netapp2.site222.net ;在这个例子中,我们想要把app1.sitemain.com 的国外解析分流至app1.site111.net ,把app2.sitemain.com 的国外解析分流至app2.site222.net;那么就需要在CF上将app1.site111.net 的A解析值设置为app1.sitemain.com 的源站IP,将app2.site222.net 的A解析值设置为app2.sitemain.com 的源站IP;同时打开小黄云(即将解析代理状态设置为已代理Proxied)

image.png

此时需要把sitemain.com在DNSPOD的解析设置为

主机记录 记录类型 线路类型 记录值 备注
app1 CNAME 默认 app1.site111.net 【国外】分流至CF安全加速
app1 CNAME 境内 app1.sitemain.com.eo.dnse1.com 【国内】由 EO 修改用于提供安全加速服务
app2 CNAME 默认 app2.site222.net 【国外】分流至CF安全加速
app2 CNAME 境内 app2.sitemain.com.eo.dnse1.com 【国内】由 EO 修改用于提供安全加速服务