如何让 Apache 只使用一个 IP(不使用防火墙)?

如何让 Apache 只使用一个 IP(不使用防火墙)?

我有一台具有多个静态 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>

相关内容