证书和多个 CNAME 记录

证书和多个 CNAME 记录

如果我托管的服务endsystem.example.org的 URL 为 ,并且它托管了 的证书www.example.org,并且我有一个intermediate.example.org指向 的CNAME 和一个指向 的endsystem.example.orgCNAME ,那么该证书是否适用于浏览器中的用户,还是会被视为中间人攻击?或者可能因为不是证书的一部分而失败?www.example.orgintermediate.example.orgintermediate.example.org

因此场景是:www.example.org-> intermediate.example.org-> endsystem.example.org,并且 endsystem.example.org 正在为 www.example.org 托管证书,浏览器会接受它吗?

为什么要这么做?

的 URLendsystem.example.org会不时更改,并且我控制endsystem.example.org和,因此当发生更改时intermediate.example.org我可以毫无问题地进行更新。intermediate.example.orgendsystem.example.org

我无法控制的 CNAME www.example.org,所以我需要添加这个“中间人”来适应变化。

答案1

是的,浏览器关心的是 URL 的主机名部分是否与其连接到的服务器提供的证书中的主题名称(SAN 之一)相匹配。

CNAME 并不是真正的因素,它们会影响浏览器连接的 IP 地址在 DNS 级别上的解析方式,但浏览器位置 URL 不会受到这些 CNAME 的任何影响。

答案2

编辑以跟进相关变更:

从用户的角度来看,唯一重要的就是最终 URL 是什么以及证书是否与该 URL 匹配。如果您可以控制 middle.example.org,但用户要访问 endsystem.example.org,则证书需要对 endsystem.example.org 有效。您可以使用下面列出的方法来实现这一点。如果 endsystem.example.org 的 URL 正在更改,但您可以控制为该站点安装证书,那么最好使用通配符证书,而不是每次 URL 更改时都必须购买新证书。

仅当证书主题具有与您的 FQDN 匹配的 CN 条目,或者用户正在访问的站点的 FQDN 具有主题备用名称条目时,浏览器才会接受该证书作为该站点的有效证书。

举例来说,查看此站点的证书,您将看到一整套主题备用名称列表,这些名称允许单个证书在其所有站点上使用。

DNS Name=*.stackexchange.com
DNS Name=stackoverflow.com
DNS Name=*.stackoverflow.com
DNS Name=stackauth.com
DNS Name=sstatic.net
DNS Name=*.sstatic.net
DNS Name=serverfault.com
DNS Name=*.serverfault.com
DNS Name=superuser.com
...

另一个选择是做一个通配符证书,它可以覆盖所有的 example.org 网站。

相关内容