我有两个域名,两个ssl证书和两个ip地址。我正在尝试为它们配置我的apache虚拟主机文件。
首先,我注释掉了端口80和443的"NameVirtualHost“和"Listen”的所有实例。然后,我对我的虚拟主机文件执行了以下操作。
用于domain1的VirtualHost文件:
NameVirtualHost 1.1.1.1:80
Listen 1.1.1.1:80
Listen 1.1.1.1:443
<VirtualHost 1.1.1.1:80>
ServerName domain1.com
...
</VirtualHost>
<VirtualHost 1.1.1.1:443>
...
</VirtualHost>用于domain2的VirtualHost文件:
NameVirtualHost 2.2.2.2:80
Listen 2.2.2.2:80
Listen 2.2.2.2:443
<VirtualHost 2.2.2.2:80>
ServerName domain2.com
...
</VirtualHost>
<VirtualHost 2.2.2.2:443>
...
</VirtualHost>发布于 2011-08-24 02:20:04
在您的配置中的某个地方,可能在Apache默认配置文件中(我认为Ubuntu中的/etc/apache2/httpd.conf?有人可以在评论中纠正我),是看起来像这样的一行:
NameVirtualHost *:80
# Also
Listen 80
Listen 443将它们注释掉,并在您的VirtualHost配置文件中添加:
Listen 111.111.111.111:80
Listen 222.222.222.222:80
# If also using SSL
Listen 111.111.111.111:443
Listen 222.222.222.222:443
NameVirtualHost 111.111.111.111:80
NameVirtualHost 222.222.222.222:80在许多默认的Apache配置中,Listen和NameVirtualHost指令与通配符一起提供,或者全局提供以应用于所有网络接口。由于您使用的是绑定到不同配置的多个IP地址,因此您需要在config指令中比发行版的默认配置文件更具体。
https://stackoverflow.com/questions/7165655
复制相似问题