在您开始创建自定义主机名之前:
- 将您的区域添加到 Cloudflare on a Free plan.
- 为您的区域启用 Cloudflare for SaaS。
- 检查主机名优先级指南。通配符自定义主机名的行为与完全匹配的主机名不同。
- (可选)阅读以下文档:
当您首次启用 Cloudflare for SaaS 时,在创建任何自定义主机名之前,您需要执行几个步骤。
回退源站是 Cloudflare 将向您的自定义主机名(必须已代理)发送的流量进行路由的位置。
要创建您的回退源站:
- 创建一条指向您的回退源站 IP 地址的已代理
A、AAAA或CNAME记录(Cloudflare 将向其发送自定义主机名流量)。
| 类型 | 名称 | IPv4 地址 | 代理状态 |
|---|---|---|---|
A |
proxy-fallback |
192.0.2.1 |
已代理 |
- 将该记录指定为您的回退源站。
-
在 Cloudflare 仪表板中,转到 Custom Hostnames(自定义主机名) 页面。
Go to Custom Hostnames ↗ -
对于 Fallback Origin(回退源站),输入您的回退源站的主机名。
-
选择 Add Fallback Origin(添加回退源站)。
使用您刚刚创建的记录的主机名,更新回退源站值。
- 添加回退源站后,确认其状态为 Active(活动)。
CNAME 目标——可选但强烈建议——可为客户路由流量提供更友好、更灵活的入口。您可能希望使用诸如 customers.<SAAS_PROVIDER>.com 之类的子域名。
创建一条代理的 CNAME,将您的 CNAME 目标指向回退源站(可以是通配符,例如 *.customers.saasprovider.com)。
| Type(类型) | Name(名称) | Target(目标) | Proxy status(代理状态) |
|---|---|---|---|
CNAME |
.customers |
proxy-fallback.saasprovider.com |
Proxied |
您需要对每个自定义主机名执行以下步骤。
在创建主机名之前,您需要规划以下内容:
您必须完成这两个步骤,主机名才能按预期工作。
规划好证书和主机名验证后,即可创建自定义主机名。
要创建自定义主机名:
-
在 Cloudflare 仪表板中,转到 Custom Hostnames(自定义主机名) 页面。
Go to Custom Hostnames ↗ -
选择 Add Custom Hostname(添加自定义主机名)。
-
添加客户的主机名
app.customer.com并设置相关选项,包括: -
选择 Add Custom Hostname(添加自定义主机名)。
-
要使用 API 创建自定义主机名,请使用创建自定义主机名端点。
- 仅 Enterprise 客户可以使用
certificate_authority参数指定 CA,使用custom_certificate/custom_cert_bundle上传自定义证书,或使用wildcard创建通配符证书。请参阅计划。 - 您可以将
certificate_authority参数留空以将其设置为“默认 CA”。选择此选项后,Cloudflare 会在请求证书前检查 CAA 记录,这有助于确保可以从该 CA 颁发证书。
- 仅 Enterprise 客户可以使用
-
对于新创建的自定义主机名,
POST响应可能不会返回 DCV 验证令牌validation_records。建议(延迟)发出第二次GET命令以检索这些详细信息。
响应包含新自定义主机名的完整定义。
自定义主机名的主机名激活与证书签发使用各自独立的验证流程。
| API field | What it means | Ready value |
|---|---|---|
result.status |
Cloudflare 已验证主机名,并可为其代理流量。 | active |
result.ssl.status |
Cloudflare 已为该主机名签发并部署证书。 | active |
当满足以下条件时,可将自定义主机名视为已准备好接收生产流量:
result.status为active。result.ssl.status为active。- 该主机名的 DNS 记录指向您的 SaaS 目标。
若 Cloudflare 能出示另一张匹配证书,则在 result.ssl.status 变为 active 之前,TLS 握手也可能成功。请以 Custom hostname details 端点 作为接入状态的权威来源。更多信息请参阅 Certificate and hostname priority。
要完成自定义主机名设置,客户需要在其权威 DNS 中设置一条指向您 CNAME 目标 的 CNAME 记录 1。
客户的 CNAME 记录可能如下所示:
mystore.example.com CNAME customers.saasprovider.com该记录会按以下方式路由流量:
flowchart TD accTitle: How traffic routing works with a CNAME target A[Request to <code>mystore.example.com</code>] --> B[<code>customers.saasprovider.com</code>] B --> C[<code>proxy-fallback.saasprovider.com</code>]
发往 mystore.example.com 的请求会到达您的 CNAME 目标(customers.saasprovider.com),然后路由到您的回退源站(proxy-fallback.saasprovider.com)。
如果您的客户也为其域使用 Cloudflare,只要他们想使用您的服务,他们就应该保持其 DNS 记录指向您的 SaaS 提供商。
有关更多详细信息,请参阅删除自定义主机名。