Cloudflare + 国内 CDN 实战:网站国内外智能分流访问方案总结

前言

当网站访问量逐渐增长,如何在不增加成本的情况下,让国内用户访问更快、国外用户体验更稳,成为了许多站长关心的问题。其实只需要配合使用两个域名,通过 Cloudflare 自定义主机名 + 国内 DNS 厂商分流解析 + 国内 CDN 回源,就可以实现 “国内走国内 CDN、国外走 Cloudflare” 的效果。

这篇文章将通过图文形式,完整记录这一配置过程,无需服务器开发基础,只要你有宝塔面板和两个域名就能操作

准备工作

  • 一台服务器:已通过宝塔面板搭建环境。
  • 两个域名
    • 主域名:用于最终访问的域名,需支持 DNS 分流的 DNS 服务商(如阿里云、腾讯云、华为云 DNS,或将子域名 NS 指到这类服务)。
    • 辅助域名:绑定在 Cloudflare,在宝塔面板配置后作为源站。
  • Cloudflare 账号:用于设置自定义主机名。
  • 国内 CDN 厂商:如京东云、阿里云 CDN,用于绑定主域名。

宝塔面板搭建网站并申请 SSL

  1. 在宝塔面板中新建一个网站,绑定的是辅助域名(如 source.example.com)。

 

 

 

 

 

 

 

 

  1. 使用宝塔自带的 Let’s Encrypt 功能,为该域名申请 SSL 证书。

 

 

 

 

 

 

 

 

 

3. 确保站点开启 HTTPS 并能正常访问。

 

配置 Cloudflare 自定义主机名与回源

  1. 打开 Cloudflare,进入 SaaS 管理界面。

 

 

  1. 新增一个回退源,填写刚才在宝塔搭建的辅助域名

 

 

  1. 新增一个自定义主机名,使用的是你主域名的子域名(如 www.example.com)。

 

 

 

 

  1. 验证方式选择 TXT 验证。
  2. 在 DNS 管理服务商(如阿里云)添加 TXT 验证记录:
    • 名称(主机记录):只保留前缀部分(如 _acme-challenge)。
    • 值:Cloudflare 提供的验证值。

 

 

  1. 验证完成后,Cloudflare 会提示 “状态有效”。此时主域名通过 Cloudflare 可成功反向代理到源站。

 

 

配置国内 CDN 与 DNS 分流

  1. 在国内 CDN 厂商添加加速域名,填写的域名是主域名(如 www.example.com)。
  2. 源站设置:填写宝塔绑定的源站域名(如 source.example.com),端口为 443,协议为 HTTPS
  3. Host 设置为 source.example.com(用于回源时 Host 头匹配)。

     

  4. CDN 厂商会分配一个 CNAME 地址。
  5. 前往主域名的 DNS 管理后台(如阿里云):
    • 设置默认线路为国内 CDN 分配的地址。(然后进行证书申请)
    • 添加境内线路(如 China):CNAME 指向国内 CDN 分配的地址。(可以更改默认线路为境内线路,也可以删除默认线路再添加境内线路)
    • 添加境外线路:CNAME 指向 Cloudflare 分配的回源地址。(也就是宝塔绑定的源站域名)

 

 

 

 

配置 HTTPS 与分流验证

  1. 回到国内 CDN 厂商控制台,申请 SSL 证书(通常免费提供)。
  2. 确保主域名在国内 CDN 与 Cloudflare 均支持 HTTPS。
  3. 使用网站测速工具测试(如 ITdog):
    • 国内节点访问时路径为国内 CDN 回源。
    • 国外节点访问时走 Cloudflare 节点回源。

 

 

写在最后

通过这个方案,我们无需改变网站结构,只是通过 “两个域名 + DNS 分流 + 双回源” 的方式,实现了 “国内 CDN 加速 + 国外 Cloudflare 加速” 的双重加速机制

THE END