【问题标题】:How ssl certificates are handled in CNAME mapped domains?在 CNAME 映射域中如何处理 ssl 证书?
【发布时间】:2019-06-21 12:09:02
【问题描述】:

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

如果我错了,请纠正?

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

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

如果请求没有发送到 example.com Web 服务器,浏览器如何获取 example.com 的 ssl 证书 还是我的cname映射理解错了?

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

【问题讨论】:

    标签: ssl cname


    【解决方案1】:

    DNS 和 TLS 完全独立运行。

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

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

    这意味着 TLS 客户端始终使用用户最初请求的 FQDN,而不考虑任何 CNAME 映射来验证证书。如何提供有效证书取决于服务器 - 以您的示例为例,FQDN mysite.com 后面的服务器必须提供对 example.com 有效的证书才能让客户端接受它。此证书的私钥/公钥如何生成,是否与其他证书或服务器共享,并不重要。

    【讨论】:

      【解决方案2】:

      我们必须将两个域的 SSL 证书显式附加到网络服务器/负载平衡器,以使两个域都支持 HTTPS。

      【讨论】:

        猜你喜欢
        • 2012-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多