如何在 CNAME 映射域中处理 ssl 证书?

Iva*_*nov 4 ssl cname

我观察到站点 example.com 具有与 mysite.com 的 cname 映射。example.com 和 mysite.com 都有 ssl 证书。

如果我错了,对吗?

当浏览器尝试连接https://example.com时,它会检查 DNS 并发现它具有与 mysite.com 的 cname 映射,并直接连接到 mysite.com Web 服务器。

当我观察浏览器时,它具有 example.com 域的 ssl 证书。我在理解这个案例时遇到了问题。

如果请求没有转到 example.com Web 服务器,浏览器如何获得 example.com 的 ssl 证书或者我的 cname 映射理解错误?

或者 example.com 私钥和公钥与 mysite.com 网络服务器共享?

Cyb*_*ran 6

DNS 和 TLS 完全独立运行。

除加密等功能外,TLS还用于根据服务器的FQDN(完全限定域名)验证服务器的身份。这是通过检查相关服务器是否能够提供由受信任的证书颁发机构 (CA) 签名的包含 FQDN 的证书来完成的。

DNS 用于将主机名解析为 IP 地址,以便在较低层上建立网络连接(如 TCP 连接)。此解析的发生方式对于其他组件(例如 TLS)是完全透明的。A名称解析是否涉及、AAAA或提到的记录并不重要CNAME- 在我们的上下文中,输入始终是单个主机名,输出始终是一个(或多个)IP 地址。CNAME一旦名称解析完成,中间结果(如映射)基本上就会被丢弃。

这意味着 TLS 客户端始终使用用户最初请求的 FQDN(无论有任何CNAME映射)来验证证书。如何提供有效的证书取决于服务器 - 按照您的示例,FQDN 后面的服务器mysite.com必须提供有效的证书才能example.com让客户端接受它。该证书的私钥/公钥如何生成,以及是否与其他证书或服务器共享都无关紧要。