我正在一台服务器上设置具有不同ssl证书的多个子域/域,我有一个问题。也就是说,VirtualHost *:443被忽略,第一个VirtualHost被加载。
我最初的设置是这样的:
<VirtualHost *:443>
ServerName a1.domain.com
....
SSLCertificateFile /etc/ssl/domain.crt
....
</VirtualHost>
<VirtualHost *:443>
ServerName a2.domain.com
....
SSLCertificateFile /etc/ssl/domain.crt
....
</VirtualHost>但是当我添加这样一个单线域时
<VirtualHost *:443>
ServerName new-domain.com
....
SSLCertificateFile /etc/ssl/new-domain.crt
....
</VirtualHost>都下地狱了。以前的每个域都试图获得一个新的-domain.crt.为什么我不知道..。然后我想,好的,让我们来修复它,我将所有的VirtualHosts更改为:
<VirtualHost a1.domain.com:443>
ServerName a1.domain.com
....
SSLCertificateFile /etc/ssl/domain.crt
....
</VirtualHost>
<VirtualHost a2.domain.com:443>
ServerName a2.domain.com
....
SSLCertificateFile /etc/ssl/domain.crt
....
</VirtualHost>
<VirtualHost new-domain.com:443>
ServerName new-domain.com
....
SSLCertificateFile /etc/ssl/new-domain.crt
....
</VirtualHost>证书开始生效..。然而,我也有这样一个条目:
<VirtualHost _default_:443>
ServerName root-domain.com
...
# here it points to default landing page
</VirtualHost>在我进行更改之前,所有默认的交易到不存在的axxx.domain.com (如果我只使用IP)都开始默认,但现在它以a1.domain.com结束(如果我使用apache2ctl -S,它会被列在第一位)。
我认为我的最初设置是一个错误配置的案例,它的工作像我想‘偶然’,但我不知道如何使它现在工作.
P.S. VirtualHostName已经过时了,所以我不能用.
发布于 2015-11-17 17:01:35
每个虚拟域的服务器别名在哪里?
很明显,如果不告诉apache配置了多少不同的域,那么apache将服务于第一个域。
你只能用一种方式来判断这一点,别名:
ServerAlias example.com此外,您不需要在以下文件中声明域名:
<VirtualHost a1.domain.com:443>这将充分发挥作用:
<VirtualHost *:443>https://serverfault.com/questions/720057
复制相似问题