我一直在查看与该问题有关的其他帖子,但在理解上遇到了一些困难,因为我尝试过实施它但仍然无法弄清楚。
我有两台服务器。
主服务器托管域server1.com
第二台服务器托管域名server2.com
sub.server1.com
我为=>设置了一个 CNAMEsub.server2.com
当我去时https://sub.server2.com
它可以工作,因为我设置了一个 SSL 证书server2.com
(即使它只是一个自签名证书)。
但我无法为 设置证书,sub.server1.com
因为它不是托管在 上server1.com
,它是 的 CNAME server2.com
。好吧,我在 Server2 上安装了 SSL 证书。但是,当我转到 时https://sub.server1.com
出现Not Found
错误,而https://sub.server2.com
工作正常。
第一个问题,我是否在正确的服务器上为 CNAME 设置了 SSL 证书?
其次,为什么它直接使用 SSL(https://sub.server2.com
)就可以工作,而当我通过 CNAME(https://sub.server1.com
)尝试时却找不到它?
第三,如何使 SSL 在 CNAME 上工作(https://sub.server1.com
)?
答案1
SSL 证书分配给主机名/域名,而不是特定机器,CNAME 记录在这方面与 A 记录没有区别。在您的例子中,sub.server1.com 的证书必须安装在 Server2 机器上,因为它将响应该名称的请求。
假设“未找到”错误是 404,您可能需要验证 sub.server1.com 是否在没有 SSL 的情况下在 Server2 上运行(http://sub.server1.com)。验证完成后,在 sub.server1.com 域上复制为 sub.server2.com 设置 SSL 的过程和配置(向 sub.server1.com 颁发新证书)。