创建新证书时,Cloudflare 首先部署证书,然后提供该证书。
对于任何给定主机名,Cloudflare 使用以下顺序确定为该主机名应用哪张证书(及关联 TLS 设置):
-
主机名特异性:特定子域名证书(
www.example.com)在www.example.com的请求中优先于通配符证书(*.example.com)。 -
Zone 特异性:如果域名在 Cloudflare 上作为 zone 处于活跃状态,特定子域名证书(
www.example.com)优先于 Custom Hostname 证书。 -
证书优先级:如果主机名相同,某些类型的证书优先于其他类型。
优先级 证书类型 1 Keyless SSL 2 Custom Legacy 3 Custom Modern 4 Custom Hostname (Cloudflare for SaaS) 5 Advanced 6 Advanced - Total TLS 7 Universal -
证书过期:最近订购的证书优先,除非发生了证书删除。如果删除了证书,则部署过期日期最晚的证书。
Cloudflare 使用以下顺序确定 TLS 握手期间使用的证书和设置:
- SNI 匹配:与 SNI 主机名完全匹配的证书和设置优先。
- SNI 通配符匹配:如果主机名与 SNI 主机名不完全匹配,Cloudflare 使用与 SNI 通配符匹配的证书和设置。
- IP 地址:如果未呈现 SNI,Cloudflare 基于 IP 地址使用证书(主机名可以支持无需 SNI 进行的 TLS 握手)。
当同一主机名在多个 zone 中存在多个已代理 DNS 记录时——通常由于 Cloudflare for SaaS——只有一条记录将控制 zone 设置和关联的源站服务器。
Cloudflare 按以下顺序确定此优先级,假设每条记录存在且已代理(橙色云):
-
精确主机名匹配:
- 新 Custom Hostname(属于 SaaS 提供商)
- 旧版 Custom Hostname(属于 SaaS 提供商)
- DNS(属于逻辑 DNS zone)
-
通配符主机名匹配:
- DNS(属于逻辑 DNS zone)
- 新 Custom Hostname(属于 SaaS 提供商)
如果 zone 在 Cloudflare 上的主机名资源记录未代理(灰色云),则不会应用该 zone 的设置,而是应用关联源站上的任何设置。此源站可以是 Cloudflare 上的另一个 zone 或任何其他服务器。
Customer1 使用 Cloudflare 作为 zone shop.example.com 的权威 DNS。Customer2 是 SaaS 提供商,创建并成功验证新 Custom Hostname shop.example.com。之后,流量开始通过 Customer2 的 zone 路由:
- 如果 Customer1 想重新获得 zone 的控制权,Customer1 联系 Customer2 并要求删除 Custom Hostname 记录。Customer1 应确保其记录目标更新为 SaaS 提供商目标以外的内容,否则 Customer1 会遇到
1014错误。 - 如果 Customer2 创建并验证新 Custom Hostname
www.example.com时,Customer1 已有www.example.com的代理记录,则应用 O2O。 - 如果 Customer1 在旧版 Custom Hostname 设置(与另一个 SaaS 提供商 Customer3)中已有
www.example.com的代理记录,Customer2 创建并验证*.example.com的新通配符 Custom Hostname,则 Customer3 平台上的旧版 Custom Hostname 由于精确主机名匹配而优先。
客户有其域名的已代理 DNS 记录。客户在 Cloudflare 上的 zone 使用 Free 套餐。
该客户还使用采用 Cloudflare for SaaS 的 SaaS 提供商。SaaS 提供商使用 Cloudflare Enterprise 套餐。
如果提供商使用通配符 Custom Hostname,则原始客户的套餐限制将优先于提供商的套餐限制(Cloudflare 将 zone 视为 Free zone)。要通过 Cloudflare for SaaS 应用 Enterprise 限制,原始客户的 zone 需要使用仅 DNS 记录,或 SaaS 提供商需要使用精确主机名匹配。