在端口 443 上添加多个 VirtualHost 时出现警告 - “_default_ VirtualHost 在端口 443 上重叠,第一个优先”

在端口 443 上添加多个 VirtualHost 时出现警告 - “_default_ VirtualHost 在端口 443 上重叠,第一个优先”

我正在运行 Ubuntu 12.10,并且有以下 4 个 VirtualHost 条目/etc/apache2/apache2.conf

4 个 VirtualHost 条目分别用于 2 个独立站点,test.example.com以及test2.example.com,分别用于 HTTP 和 HTTPS。

<VirtualHost *:443>
   DocumentRoot /var/www/test
   ServerName test.example.com
   # Other settings goes here
</VirtualHost>


<VirtualHost *:80>
   DocumentRoot /var/www/test
   ServerName test.example.com
   # Other settings goes here
</VirtualHost>

<VirtualHost *:443>
   DocumentRoot /var/www/test2
   ServerName test2.example.com
   # Other settings goes here
</VirtualHost>


<VirtualHost *:80>
   DocumentRoot /var/www/test2
   ServerName test2.example.com
   # Other settings goes here
</VirtualHost>

我的问题 当我保存并重新启动 Apache 时,出现以下警告:-

* 重新启动 Web 服务器 apache2
[2013 年 2 月 17 日星期日 18:30:09] [警告] _default_ VirtualHost 在端口 443 上重叠,第一个具有优先权
 ... 等待 [2013 年 2 月 17 日星期日 18:30:10] [警告] _default_ VirtualHost 在端口 443 上重叠,第一个优先

/var/www/test当我打开它们时,test.example.com我得到了test2.example.com

知道问题是什么吗?

答案1

您需要添加NameVirtualHost *:443它才能工作。
NameVirtualHost *:80也必须在您的配置中,它可能是默认设置的,但我不使用 Ubuntu,所以我不确定在哪个文件中。

另外还有一条建议:
在单个 IP 上运行多个 HTTPS 站点可能会有缺点,特别是较旧的客户端(IE8/Windows XP)不支持 SNI。
这可能非常适合您的情况(仅用于测试,使用 *.example.com 通配符证书等),但您应该注意这一点。

相关内容