创建2个相同IP的https虚拟主机

创建2个相同IP的https虚拟主机

我有一个域“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>

相关内容