我有一个域“domain1.com”,它使用 IP“1.1.1.1”并配置为:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain1.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
ServerAdmin webmaster@localhost
ServerName domain1.com
.......
</VirtualHost>
我尝试添加使用相同 IP 的新域名“domain2.com”
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain2.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
ServerAdmin webmaster@localhost
ServerName domain2.com
.......
</VirtualHost>
但是当我重新启动 apache 时它显示:
[warn] VirtualHost 1.1.1.1:443 overlaps with VirtualHost 1.1.1.1:443, the first has precedence, perhaps you need a NameVirtualHost directive
当我尝试打开其中任何一个时,第一个域名证书显示好像没有 SSL,第二个域名则没问题。
答案1
您需要NameVirtualHost
在进行虚拟托管时添加
NameVirtualHost 1.1.1.1:443
<VirtualHost 1.1.1.1:443>
# ...
</VirtualHost>
如果你想接收所有接口上的请求,你可以使用以下参数*:443
你可以从Apache 文档。
添加如下内容:
Listen 80
Listen 443
NameVirtualHost 1.1.1.1:80
NameVirtualHost 1.1.1.1:443
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain1.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
ServerAdmin webmaster@localhost
ServerName domain1.com
.......
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain2.com
.......
</VirtualHost>
<VirtualHost 1.1.1.1:443>
ServerAdmin webmaster@localhost
ServerName domain2.com
.......
</VirtualHost>