跳转到内容
搜索文档

证书与主机名优先级

最后更新 查看 MarkdownAgent 设置

创建新证书时,Cloudflare 首先部署证书,然后提供该证书。


证书部署

对于任何给定主机名,Cloudflare 使用以下顺序确定为该主机名应用哪张证书(及关联 TLS 设置):

  1. 主机名特异性:特定子域名证书(www.example.com)在 www.example.com 的请求中优先于通配符证书(*.example.com)。

  2. Zone 特异性:如果域名在 Cloudflare 上作为 zone 处于活跃状态,特定子域名证书(www.example.com)优先于 Custom Hostname 证书。

  3. 证书优先级:如果主机名相同,某些类型的证书优先于其他类型。

  4. 证书过期:最近订购的证书优先,除非发生了证书删除。如果删除了证书,则部署过期日期最晚的证书。


证书呈现

Cloudflare 使用以下顺序确定 TLS 握手期间使用的证书和设置:

  1. SNI 匹配:与 SNI 主机名完全匹配的证书和设置优先。
  2. SNI 通配符匹配:如果主机名与 SNI 主机名不完全匹配,Cloudflare 使用与 SNI 通配符匹配的证书和设置。
  3. IP 地址:如果未呈现 SNI,Cloudflare 基于 IP 地址使用证书(主机名可以支持无需 SNI 进行的 TLS 握手)。

主机名优先级

当同一主机名在多个 zone 中存在多个已代理 DNS 记录时——通常由于 Cloudflare for SaaS——只有一条记录将控制 zone 设置和关联的源站服务器。

Cloudflare 按以下顺序确定此优先级,假设每条记录存在且已代理(橙色云):

  1. 精确主机名匹配

    1. 新 Custom Hostname(属于 SaaS 提供商)
    2. 旧版 Custom Hostname(属于 SaaS 提供商)
    3. DNS(属于逻辑 DNS zone)
  2. 通配符主机名匹配

    1. DNS(属于逻辑 DNS zone)
    2. 新 Custom Hostname(属于 SaaS 提供商)

如果 zone 在 Cloudflare 上的主机名资源记录未代理(灰色云),则不会应用该 zone 的设置,而是应用关联源站上的任何设置。此源站可以是 Cloudflare 上的另一个 zone 或任何其他服务器。

示例场景

场景 1

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 由于精确主机名匹配而优先。

场景 2

客户有其域名的已代理 DNS 记录。客户在 Cloudflare 上的 zone 使用 Free 套餐。

该客户还使用采用 Cloudflare for SaaS 的 SaaS 提供商。SaaS 提供商使用 Cloudflare Enterprise 套餐。

如果提供商使用通配符 Custom Hostname,则原始客户的套餐限制将优先于提供商的套餐限制(Cloudflare 将 zone 视为 Free zone)。要通过 Cloudflare for SaaS 应用 Enterprise 限制,原始客户的 zone 需要使用仅 DNS 记录,或 SaaS 提供商需要使用精确主机名匹配。

这篇文档对您有帮助吗?