如何处理指向不同域名的 CNAME 的 SSL 证书

如何处理指向不同域名的 CNAME 的 SSL 证书

我的目标是:

*a.example1.com* should point to *example2.com/test*

数据

  • example2.com 的托管机器具有 SSL 证书(通配符)*.example2.com
  • 我管理这两个域名。

我想到的解决方案:

  • 创建子域名测试.example2.com指向“/var/www/site/test”下的内容。(子域名应该指向同一台机器)

  • 创建如下 CNAME 记录: a.example1.com别名记录测试.example2.com

问题:

这会导致浏览器出现 SSL 证书问题。因此,我需要安装 SSL 证书a.example1.com在主机上example2.com更准确地说是在虚拟主机上测试.example2.com。但是,我不确定这是否可行?我找到了有关如何在 Apache 中拥有两个具有两个不同域的虚拟主机并因此具有不同的 SSL 证书的来源:因此,如果我执行以下操作:

  • 创建虚拟主机测试.example2.com--> 指向 '/var/www/site/news' 并具有通配符证书 '*.example2.com'

  • 创建另一个虚拟主机a.example1.com--->指向 /var/www/site/test 并具有通配符证书“a.example1.com”(在同一台机器上)

  • 并创造了以下记录:

    a.example1.comCNAME 至测试.example2.com

这能解决我的问题吗?

答案1

从您的 DNS 示例中,您将获得:

test.example2.com IN A 1.2.3.4
a.example1.com IN CNAME teste.example2.com

这基本上意味着您的客户端将把 a.example1.com 解析为 ip 1.2.3.4。这还意味着您的 Web 服务器1.2.3.4(如您所说,Apache)将接收两个 URL 的请求,并且 Apache 足够智能,可以将 GET/POST 等发送到正确的位置。

通过对虚拟主机条目进行隔离(甚至可以在同一个文件中),您可以处理许多不同的 URL 和域。我在一个 Apache 上特别有 200 多个 vhosts 文件(不是那么智能)(由于性能问题,正在迁移到 HAproxy)。所以是的,在同一台服务器上拥有两个完全不同的 URL 肯定可行。只需注意正确的 TLS 配置(例如使用正确的密钥和证书等)。

[]`

相关内容