Apache VirtualHost 带 ip 和不带 ip 的区别

Apache VirtualHost 带 ip 和不带 ip 的区别

在某些 apache 文件(站点启用)中,您可以看到:

<VirtualHost 172.20.30.40:80>
    DocumentRoot /www/example1
    ServerName www.example.com
</VirtualHost>

其他 :

<VirtualHost *:80>
    DocumentRoot /www/example1
    ServerName www.example.com
</VirtualHost>

这两条线有什么区别:

<VirtualHost 172.20.30.40:80>
<VirtualHost *:80>

通常我总是使用 :*:80作为 VirtualHost。但我的一个朋友在服务器上需要输入服务器的 IP。这*:80不起作用。

你知道为什么吗?这是特殊配置吗?有没有办法知道什么时候需要输入 IP?

答案1

<VirtualHost *:80>将为端口 80 上的所有请求提供该页面

<VirtualHost <IP>:80>仅处理发送到指定 IP 地址的请求。如果您的 Web 服务器有多个 IP 地址,并且您希望为每个地址提供特定页面,则此功能非常有用。*:80根据您的配置,此功能可能优先于,请检查输出以apachectl -S查看附加在哪里。

在大多数情况下,<VirtualHost *:80>这是一个合理的值,即使 IP 地址将来可能会发生变化,您的主机也将能够提供页面服务。

相关内容