分类: 未分类

  • Cloudflare 优选域名配置教程

    1. 原理说明

    本教程使用的是 Cloudflare for SaaS 自定义主机名 + 自定义源服务器 + 优选 CNAME 链路的方案。

    整体逻辑是:

    A 主域名 CNAME 到 B 域名
    B 域名 CNAME 到 Cloudflare 优选域名
    C 域名解析到服务器 IP,并开启小黄云
    Cloudflare for SaaS 中:
      自定义主机名填写 A 域名
      自定义源服务器填写 C 域名
    

    也就是说:

    A 域名 = 用户访问的域名
    B 域名 = 中转优选域名
    C 域名 = 源站域名
    

    2. 整体链路

    用户访问 A 域名
            ↓
    A 域名 CNAME 到 B 域名,不开启小黄云
            ↓
    B 域名 CNAME 到优选域名,不开启小黄云
            ↓
    进入 Cloudflare 优选节点
            ↓
    Cloudflare for SaaS 识别 A 域名
            ↓
    根据自定义源服务器回源到 C 域名
            ↓
    C 域名开启小黄云,代理到真实服务器 IP
    

    最终效果:

    用户访问 A 域名
    实际走优选 Cloudflare 节点
    源站回源到 C 域名
    真实服务器 IP 被 Cloudflare 隐藏
    

    3. 域名准备

    假设你有 3 个域名或 3 个子域名:

    A 域名:www.a.com
    B 域名:b.example.com
    C 域名:origin.c.com
    服务器 IP:1.2.3.4
    优选域名:best.example.com
    

    说明:

    www.a.com        用户最终访问的域名
    b.example.com    中转 CNAME 域名
    best.example.com Cloudflare 优选域名
    origin.c.com     源站域名
    1.2.3.4          真实服务器 IP
    

    4. 配置 C 域名

    C 域名是源站域名,用来指向你的真实服务器 IP。

    在 Cloudflare DNS 中添加记录:

    类型:A
    名称:origin
    内容:1.2.3.4
    代理状态:开启小黄云 / Proxied
    

    最终效果:

    origin.c.com -> 1.2.3.4
    

    注意:

    C 域名必须开启小黄云
    C 域名用于 Cloudflare for SaaS 的自定义源服务器
    C 域名不要关闭代理
    不建议直接使用服务器 IP 作为自定义源服务器
    

    5. 配置 B 域名

    B 域名作为中转域名,用来 CNAME 到优选域名。

    在 B 域名 DNS 中添加记录:

    类型:CNAME
    名称:b
    目标:best.example.com
    代理状态:关闭小黄云 / DNS only
    

    最终效果:

    b.example.com CNAME best.example.com
    

    注意:

    B 域名不开小黄云
    B 域名只负责 CNAME 中转
    后期更换优选域名,只需要修改 B 域名的 CNAME 目标
    

    6. 配置 A 域名

    A 域名是用户最终访问的主域名。

    在 A 域名 DNS 中添加记录:

    类型:CNAME
    名称:www
    目标:b.example.com
    代理状态:关闭小黄云 / DNS only
    

    最终效果:

    www.a.com CNAME b.example.com
    

    注意:

    A 域名不开小黄云
    A 域名只负责 CNAME 到 B 域名
    用户最终访问的是 A 域名
    

    7. 配置 Cloudflare for SaaS

    进入 Cloudflare for SaaS,添加自定义主机名。

    配置如下:

    Custom Hostname / 自定义主机名:www.a.com
    Custom Origin Server / 自定义源服务器:origin.c.com
    

    也就是:

    自定义主机名 = A 域名
    自定义源服务器 = C 域名
    

    添加后等待 Cloudflare 验证和签发证书。

    状态正常后,A 域名就会被 Cloudflare for SaaS 接管,并通过 C 域名回源到你的服务器。

    8. SSL/TLS 设置建议

    推荐先使用:

    SSL/TLS 模式:Full
    

    如果源站证书配置完整,可以使用:

    SSL/TLS 模式:Full strict
    

    源站服务器建议:

    安装有效 SSL 证书
    证书至少包含 C 域名
    如果条件允许,也可以同时包含 A 域名
    Web 服务中绑定 A 域名和 C 域名
    

    如果出现 SSL 报错,优先检查:

    源站证书是否有效
    源站证书是否包含 C 域名
    服务器是否支持 HTTPS
    Nginx / Apache / 宝塔是否正确绑定域名
    Cloudflare SSL 模式是否过高
    

    9. 最终访问流程

    用户访问:

    https://www.a.com
    

    完整链路:

    https://www.a.com
            ↓
    www.a.com CNAME b.example.com
            ↓
    b.example.com CNAME best.example.com
            ↓
    进入 Cloudflare 优选节点
            ↓
    Cloudflare for SaaS 识别 www.a.com
            ↓
    回源到 origin.c.com
            ↓
    origin.c.com 代理到服务器 IP 1.2.3.4
    

    10. DNS 验证方法

    可以使用以下命令检查解析:

    nslookup www.a.com
    nslookup b.example.com
    nslookup origin.c.com
    

    预期结果:

    www.a.com -> b.example.com
    b.example.com -> best.example.com
    origin.c.com -> Cloudflare IP
    

    也可以使用:

    dig www.a.com
    dig b.example.com
    dig origin.c.com
    

    11. 访问验证方法

    浏览器访问:

    https://www.a.com
    

    如果网站正常打开,说明配置成功。

    如果打不开,可以检查:

    A 域名 CNAME 是否正确
    B 域名 CNAME 是否正确
    C 域名是否开启小黄云
    Cloudflare for SaaS 自定义主机名是否 Active
    Cloudflare for SaaS 证书是否签发成功
    服务器是否允许 A 域名访问
    服务器是否允许 C 域名访问
    

    12. 常见问题

    12.1 A 域名需要开启小黄云吗?

    不需要。

    A 域名只需要 CNAME 到 B 域名,保持 DNS only 即可。

    A 域名 CNAME B 域名,灰云
    

    12.2 B 域名需要开启小黄云吗?

    不需要。

    B 域名只是中转 CNAME,用来指向优选域名。

    B 域名 CNAME 优选域名,灰云
    

    12.3 C 域名需要开启小黄云吗?

    需要。

    C 域名是自定义源服务器,需要开启 Cloudflare 代理。

    C 域名 A 记录到服务器 IP,橙云
    

    12.4 为什么不直接让 A 域名 CNAME 到优选域名?

    可以直接 CNAME,但不推荐。

    推荐增加 B 域名作为中转层,原因是:

    方便后期更换优选域名
    不用频繁修改 A 域名解析
    结构更清晰
    便于统一管理多个 A 域名
    

    12.5 为什么自定义源服务器填写 C 域名?

    因为 Cloudflare for SaaS 需要知道请求最终回源到哪里。

    这里 C 域名就是源站入口。

    Custom Origin Server = C 域名
    

    12.6 为什么 C 域名不能直接填服务器 IP?

    Cloudflare for SaaS 自定义源服务器通常要求填写主机名,不建议直接填写 IP。

    推荐做法是:

    C 域名 A 记录到服务器 IP
    C 域名开启小黄云
    自定义源服务器填写 C 域名
    

    12.7 打开 A 域名后不是自己的网站怎么办?

    检查服务器 Web 配置。

    源站服务器需要能正确识别 A 域名的 Host。

    需要检查:

    Nginx 是否绑定 A 域名
    Apache 是否绑定 A 域名
    宝塔站点是否添加 A 域名
    反向代理是否允许 A 域名
    应用是否限制 Host
    

    否则可能出现:

    默认站点
    403
    404
    跳转异常
    

    12.8 出现 525 怎么办?

    525 通常是 Cloudflare 和源站之间 SSL 握手失败。

    检查:

    服务器是否开启 HTTPS
    源站 443 端口是否开放
    源站证书是否有效
    源站 Web 服务是否正常
    Cloudflare SSL 模式是否设置过高
    

    可以先将 SSL/TLS 模式改为:

    Full
    

    确认正常后再尝试:

    Full strict
    

    12.9 出现 526 怎么办?

    526 通常是源站证书无效。

    检查:

    源站证书是否过期
    证书域名是否匹配
    证书链是否完整
    是否使用了自签名证书
    Full strict 模式是否要求过高
    

    解决方法:

    安装有效证书
    使用 Let's Encrypt 证书
    确保证书包含 C 域名
    必要时让证书同时包含 A 域名
    

    12.10 出现 1014 怎么办?

    1014 通常和 Cloudflare CNAME 跨账号代理限制有关。

    可以检查:

    A 域名、B 域名、C 域名是否在同一个 Cloudflare 账号
    Cloudflare for SaaS 是否配置正确
    Custom Hostname 是否已经 Active
    是否存在跨账号 CNAME 到已代理域名的问题
    

    13. 推荐配置总表

    项目

    类型

    目标

    小黄云状态

    A 域名

    CNAME

    B 域名

    关闭 / DNS only

    B 域名

    CNAME

    优选域名

    关闭 / DNS only

    C 域名

    A

    服务器 IP

    开启 / Proxied

    Cloudflare for SaaS:

    配置项

    填写

    Custom Hostname / 自定义主机名

    A 域名

    Custom Origin Server / 自定义源服务器

    C 域名

    14. 简化示例

    假设:

    A 域名:www.a.com
    B 域名:b.example.com
    优选域名:best.example.com
    C 域名:origin.c.com
    服务器 IP:1.2.3.4
    

    DNS 配置:

    www.a.com CNAME b.example.com,灰云
    b.example.com CNAME best.example.com,灰云
    origin.c.com A 1.2.3.4,橙云
    

    Cloudflare for SaaS 配置:

    自定义主机名:www.a.com
    自定义源服务器:origin.c.com
    

    访问:

    https://www.a.com
    

    实际链路:

    www.a.com
      -> b.example.com
      -> best.example.com
      -> Cloudflare 优选节点
      -> Cloudflare for SaaS
      -> origin.c.com
      -> 1.2.3.4
    

    15. 最终总结

    最终配置可以概括为:

    A 主域名 CNAME 到 B 域名,不开小黄云
    B 域名 CNAME 到优选域名,不开小黄云
    C 域名解析到服务器 IP,开启小黄云
    
    Cloudflare for SaaS:
    自定义主机名填写 A 域名
    自定义源服务器填写 C 域名
    

    这套方案的作用是:

    A 域名作为用户访问入口
    B 域名作为优选域名中转
    优选域名负责选择更好的 Cloudflare 节点
    Cloudflare for SaaS 负责接入 A 域名
    C 域名负责回源到真实服务器
    真实服务器 IP 通过 Cloudflare 隐藏
    

  • 世界,您好!

    欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!