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 隐藏

评论

2 条对“Cloudflare 优选域名配置教程”的回复

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注