在某些 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 地址将来可能会发生变化,您的主机也将能够提供页面服务。