我观察到一个站点名称与mysite.com有一个cname映射。example.com和mysite.com都有ssl证书。
如果我错了,可以纠正吗?
当浏览器尝试连接https://example.com时,它会检查DNS,发现它与mysite.com有cname映射,并直接连接到mysite.com web服务器。
当我观察到浏览器时,它有SSL域的example.com证书。我在理解这个案例时遇到了问题。
如果请求没有到达ssl服务器,浏览器如何获得example.com证书或我的cname映射理解错误?
或者与mysite.com and服务器共享example.com私钥和公钥?
发布于 2019-06-21 22:16:19
DNS和TLS彼此完全独立运行。
除了加密等功能之外,TLS还用于根据服务器的FQDN (完全限定域名)验证服务器的身份。这是通过检查相关服务器是否能够提供由可信证书颁发机构(CA)签署的包含FQDN的证书来完成的。
DNS用于将主机名解析为IP地址,以便在较低层建立网络连接(如TCP连接)。这个解析是如何发生的,对其他组件来说是完全透明的,比如TLS。名称解析是否涉及A
、AAAA
或上述CNAME
记录并不重要-在我们的上下文中,输入始终是单个主机名,输出始终是一个(或多个) IP地址。一旦完成名称解析,中间结果就会被丢弃,就像CNAME
映射一样。
这意味着,无论CNAME
映射如何,TLS客户端始终使用用户最初请求的完全限定域名来验证证书。如何提供一个有效的证书取决于服务器-坚持您的示例,FQDN mysite.com
背后的服务器必须提供一个对example.com
有效的证书,以便客户端接受它。该证书的私钥/公钥是如何生成的,以及它是否与其他证书或服务器共享,这些都无关紧要。
发布于 2020-11-23 21:26:50
我们必须显式地将两个域的SSL证书附加到We服务器/负载均衡器,以使两个域都支持HTTPS。
https://stackoverflow.com/questions/56703187
复制相似问题