在Apache Web服务器中,使用基于名称的虚拟主机时,您可以使用VirtualHost
指令中的IP或实际域名。
(Debian上基于名称的虚拟主机是通过/etc/apache/ports.conf
到NameVirtualHost <ip>:<port>
语句启用的,其中<port>
必须与Listen
指令中的<VirtualHost 10.0.0.1:80>
...
相同。)
那么,那么:
<VirtualHost sub.domain.tld:80>
...
或者这个:
{{1}}
同样有效。
有什么区别,应该首选哪种方法?
答案 0 :(得分:1)
首选使用IP地址,以便即使DNS解析失败也可以解析您的配置。
您可以使用ServerName指令控制VirtualHost块应用于哪个主机名,而不会触发DNS解析:
<VirtualHost 10.0.0.1:80>
ServerName sub.domain.tld
...
</VirtualHost>
http://httpd.apache.org/docs/current/dns-caveats.html有更多好的和坏的做法的例子。