虚拟主机与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> 

这两个ligne有什么区别:

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

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

你知道为什么吗 ? 它是一个特殊的configuration? 有一种方法可以知道什么时候需要放ip或不放?

<VirtualHost *:80>将服务于端口80上的所有请求的页面

<VirtualHost <IP>:80>将仅服务发送到指定的IP地址的请求。 如果您的Web服务器拥有多个IP地址,并且想要为每个地址提供特定的页面,那么这会很有用。 这可以优先于*:80具体取决于您的configuration,请检查apachectl -S的输出以查看附件的位置。

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