我已经从godaddy购买了域名的TLS证书(例如somebeta.com - 实际情况不同)。 DNS指向我运行的AWS EC2 Linux服务器。此EC2上的httpd Web服务器提供REST API请求。
我已经在AWS EC2服务器上安装了指向beta.com的证书,而 httpd.conf 或 < em> ssl.conf 我是否指定了ServerName指令。每件事情都很好,https://somebeta.com有效,绿色出现,一切都很好。
现在,我通过将 alpha.something.beta 指向另一个EC2实例,在godaddy DNS上创建一个新的子域路由。当我在另一台EC2服务器上安装此证书时,我会在ssl_error_logs中得到以下信息:
ip-<Some IP>.ap-south-1.compute.internal:443:0 server certificate does NOT include an ID which matches the server name
我查看了SO,发现机器的主机名应该与证书中的CN相匹配。如果没有,则SSL / TLS将失败(我相信mod_ssl检查并失败)。
我的问题是,我没有设置实际的somebeta.com EC2服务器的主机名,但SSL / TLS仍然很好用。怎么回事? mod_ssl是否有一些智能来确定localhost实际上指向somebeta.com(通过做DNS /等)以及它为什么有效?
请不要过早关闭这个问题,我完全理解SSL / TLS的工作,我只需要知道httpd中的mod_ssl是如何验证的。 ServerName指令的缺失或存在是否总是有效或仅有时?