两个虚拟主机上的一个多站点SSL(在Ubuntu 16.04上为Apache2)

时间:2018-06-22 08:58:15

标签: ssl apache2 ubuntu-16.04 multisite

我有一个来自GoDaddy的SSL证书(标准的UCC SSL证书,最多可包含5个子/域),并且在Apache2上配置了两个虚拟主机。

我可以分别安装一个SSL证书,在添加第二个SSL证书之前,它们可以正常工作。

添加第二个HTTPS配置(...)后,我得到了一种奇怪的重定向,从one.abc.com重定向到two.abc,反之亦然。

我在两个配置中都使用了相同的证书文件,因为它是相同的多站点SSL证书。

F.ex。:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName www.abc.com
        DocumentRoot /var/www/htdocs
        SSLEngine on
        SSLCertificateFile    /etc/apache2/ssl/abc.crt
        SSLCertificateKeyFile /etc/apache2/ssl/abc.key
        SSLCertificateChainFile /etc/apache2/ssl/abc_bundle.crt
</VirtualHost>
</IfModule>

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName subd2.abc.com
        DocumentRoot /var/www/test2
        SSLEngine on
        SSLCertificateFile    /etc/apache2/ssl/abc.crt
        SSLCertificateKeyFile /etc/apache2/ssl/abc.key
        SSLCertificateChainFile /etc/apache2/ssl/abc_bundle.crt
</VirtualHost>
</IfModule>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

此:

  

现在-我知道,因为SSL会环绕HTTP请求,   在公开之前,无法知道正在请求哪个主机   密钥已先发送到客户端。这本质上打破了   使用标准SSL证书的SSL虚拟主机的可能性。

来自 https://serverfault.com/questions/113076/apache-ssl-virtualhosts-on-a-single-ip-using-ucc-san-certificate 让我想到问题很简单,就abc.com服务器而言,只是不知道采用哪个HTTPS服务器(www.abc.com或subd2.abc.com)配置,而只是采用第一个。批准的测试。

第二个问题/结论来自于此-我是否已配置域abc.com。而且还没有,我只是在www.abc.com配置中将其定义为ServerAlias。

当我从ServerAlias中删除并使用abc.com和重定向创建配置时,所有人都将留在原处。