我有一台具有多个静态 IP(127.0.0.1、127.0.0.2 等)的服务器。我想让 Apache 只监听每个域(虚拟主机)的 127.0.0.1 IP 地址。
我尝试了以下操作:
# No NameVirtualHost used
Listen 127.0.0.1:80
<VirtualHost one.domain.com>
...
</VirtualHost>
<VirtualHost two.domain.com>
...
</VirtualHost>
这并没有按预期工作,因为每个虚拟主机条目(和 IP)都指向第一个 VirtualHost 条目。
现在我正在使用:
NameVirtualHost 127.0.0.1:80
Listen 80
<VirtualHost one.domain.com>
...
</VirtualHost>
<VirtualHost two.domain.com>
...
</VirtualHost>
但是现在 Apache 会监听服务器的每个 IP。
答案1
您的第一个设置在概念上是正确的,但在实施上是错误的。
Listen 127.0.0.1:80
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerName one.domain.com
...
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerName two.domain.com
...
</VirtualHost>