Cloudflare 的自定义主机名(Custom Hostnames)功能主要面向 SaaS 提供商,允许将未托管在 Cloudflare 上的外部域名接入当前账户,享受统一的 CDN 加速、WAF 防护及 SSL 证书管理。
先说结论:该功能不支持免费套餐,需 Pro、Business 或 Enterprise 计划,并按绑定的主机名数量额外计费。配置核心在于完成Fallback Origin 设置、DNS 所有权验证及 CNAME 接入。
- 适合:SaaS 平台需要为租户域名提供 HTTPS 支持,或希望分离 DNS 解析与 CDN 服务的场景。
- 先准备:一个已接入 Cloudflare 且开启代理的主域名作为回源,以及支持外币支付的信用卡。
- 验收:后台状态显示 Active,外部域名 HTTPS 访问正常且证书由 Cloudflare 颁发。
套餐要求与计费说明
这是配置前最关键的确认环节,避免因套餐不符导致开通失败或产生意外费用。
- 套餐门槛:Free 套餐不可用。必须升级至 Pro($20/月)、Business($200/月)或 Enterprise 计划。
- 计费标准:在套餐基础费用之上,按绑定的自定义主机名数量收费。通常标准为 $0.10/月/hostname(具体以官方定价页面为准)。
- 支付验证:首次启用该功能需绑定信用卡或 PayPal 进行身份验证,即使使用免费额度(如有促销)也需完成绑卡。
分步处理
1. 启用 Custom Hostnames 功能
登录 Cloudflare 后台,进入已接入的主域名管理页面。在左侧菜单选择【SSL/TLS】→【Custom Hostnames】。点击【Enable Custom Hostnames】按钮,按提示完成支付方式绑定。启用成功后,页面会显示当前的配额使用情况。
2. 配置回退源(Fallback Origin)
在 Custom Hostnames 页面找到【Fallback Origin】设置项。输入一个已接入 Cloudflare 且 DNS 记录开启代理(小黄云图标)的域名(例如 origin.example.com)。该域名需解析到你的源站 IP。保存后等待状态变为【Active】,这通常需要几分钟。
3. 添加自定义主机名
点击【Add custom hostname】按钮。在输入框中填写外部域名(例如 www.client-domain.com)。SSL 设置建议选择【Flexible】或【Full】,最低 TLS 版本建议设为 TLS 1.2。点击【Add hostname】提交。
4. 完成 DNS 所有权验证(DCV)
提交后,状态会显示【Pending Validation】。点击该条目查看验证详情,选择【TXT】验证方式。复制系统提供的 TXT 记录名称和内容。
前往外部域名的 DNS 服务商处(如 DNSPod、Godaddy),添加一条 TXT 记录。主机记录为系统提供的名称(通常是 _cf-custom-hostname.www),内容为提供的验证字符串。保存后返回 Cloudflare 点击【Verify】。
5. 配置外部域名解析
验证通过后,SSL 状态变为【Initializing】。此时需在外部域名的 DNS 设置中,添加一条 CNAME 记录。主机记录为 www(或@),记录值指向你的回退源域名(例如 origin.example.com)。注意:不要指向 IP,必须指向 CNAME。
怎么验证是否生效
1. 后台状态检查
在【SSL/TLS】→【Custom Hostnames】列表中,目标域名的 Status 应显示为【Active】,SSL 状态显示为【Active】。
2. 浏览器访问测试
使用浏览器访问 https://www.client-domain.com。检查地址栏是否有安全锁标志,点击证书详情,颁发者应包含 "Cloudflare" 字样。
3. 命令行验证
使用 curl 命令检查响应头及 SSL 握手情况:
curl -I -v https://www.client-domain.com观察输出中是否包含 cf-ray 头部信息,且 SSL 握手阶段显示证书由 Cloudflare 提供。若返回 200 状态码且无证书报错,说明配置生效。
常见错误与排查
1. DCV 验证失败(Ownership verification failed)
现象:点击 Verify 后状态仍为 Failed。
排查:检查 TXT 记录是否完全匹配,包括主机记录前缀和内容字符串,避免多余空格。DNS 传播可能需要时间,等待 10-30 分钟后重试。确保没有在 DNS 服务商处设置 DNSSEC 导致记录被篡改。
2. SSL 状态长期 Pending 或 Initializing
现象:验证通过但证书一直未激活。
排查:检查 CNAME 记录是否已生效且指向正确的 Fallback Origin。确认 Fallback Origin 域名本身在 Cloudflare 后台状态正常且开启了代理。若超过 24 小时未生效,尝试删除该 hostname 重新添加。
3. 访问返回 522 或 525 错误
现象:Cloudflare 边缘节点无法连接源站。
排查:检查源站防火墙是否放行了 Cloudflare 的 IP 段。在 Cloudflare SSL/TLS 设置中,若源站有自签证书,需将 SSL 模式改为 Full;若源站有可信证书,建议改为 Full (Strict)。
4. 计费异常担忧
现象:担心绑定后产生高额费用。
排查:定期在【Billing】页面查看用量。删除不再使用的 Custom Hostname 可停止计费。注意删除操作在后台生效后,下一个计费周期才会停止扣费。