780 字
4 分钟
网站全球秒开:教你如何实现网站分流解析
Tip
- 教程以本站为例
- 只适用于需要分流解析子域名,根域名不进行分流
- 本教程中使用的国内 CDN 需要域名备案,否则无法提供服务
NS 解析
将域名托管至 Cloudflare(即根域名 NS 解析在 Cloudflare)。

DNS 解析
-
由于 Cloudflare 的 DNS 记录不支持根据地区等其他方式分流解析,因此我们需要使用其他 DNS 服务商。二选一(或其他支持根据地域解析的服务商),后续以阿里云为例:
-
在 DNS 解析中添加你需要分流的子域名(阿里云的 DNS 在 云解析 DNS -> 解析配置 -> 公网权威解析),并按要求通过 TXT 等其他方式验证域名;然后在 Cloudflare 的 DNS 记录中将对应子域名 NS 解析到服务商要求的记录。

部署静态页面
- 国外源:通过 Cloudflare Workers 部署页面(如果通过 Vercel 等其他方式部署可跳过)。
Tip
为什么要使用 Workers 而不是 Pages? 因为 Pages 需要检查 CNAME 解析是否正确。在本例中,CNAME 解析是不指向 Pages 要求的 CNAME,而 Workers 不检查。
- 国内源:推荐使用 腾讯云 EdgeOne Pages / 阿里云 ESA Pages 部署页面(均免费但需要域名备案)。
Tip
- 纯静态页面不使用函数的情况下我更推荐阿里云 ESA,因为能直接绑定域名并且可以享受到 CDN 的 WAF。腾讯云的 EdgeOne 独立于 CDN,(近乎)无法配置 WAF,除非你确信你的网站不会受到攻击。
- 阿里云 ESA 的函数兼容性较差,例如可以在腾讯云 EdgeOne 和 Cloudflare Workers 运行的函数,跑到阿里云 ESA 就会报错。
- (腾讯云 EdgeOne 在下文简称 EO,阿里云 ESA 在下文简称 ESA)
动态页面
- 国内:直接使用 EO 或 ESA 进行回源即可。如果是非标端口推荐使用 EO,ESA 需要占用一个规则位置才能配置自定义回源端口,而 EO 可以直接设置。
- 国外:使用 Cloudflare 回源。
DCV 委派
由于 CNAME 是分流解析,且免费服务默认使用的证书签发大概率为 Let’s Encrypt / Digicert,他们获取到的是非国内解析的 CNAME,无法颁发证书,因此需要通过DCV委派的方式签发证书。
- EO:在接入站点(域名)后,域名服务 -> 域名管理 -> 右侧 HTTPS 配置,根据指引设置 CNAME 记录。
- ESA:在 站点管理 -> 点击你接入的域名 -> SSL/TLS -> 边缘证书 -> 下方 托管 DCV,根据指引设置 CNAME 记录(ESA 免费版只有 Let’s Encrypt 证书,因此设置的是
_acme-challenge.)。
设置解析
以阿里云 DNS 配置为例:
非国内解析需要在 Cloudflare 添加一个任意子域名,然后 A 记录填写 192.0.2.1,并开启代理;然后将这个域名填写至记录值中(这个设置是让流量打到 Cloudflare CDN 上,然后就可以正常解析了)!

配置完如图:

大功告成!
结果如图:

支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
网站全球秒开:教你如何实现网站分流解析
https://blog.canmoe.com/posts/website-traffic-routing/