apache httpd基于名称的虚拟主机:使用ip还是域名?

时间:2014-07-31 15:37:00

标签: apache dns ip

在Apache Web服务器中,使用基于名称的虚拟主机时,您可以使用VirtualHost指令中的IP或实际域名。

(Debian上基于名称的虚拟主机是通过/etc/apache/ports.confNameVirtualHost <ip>:<port>语句启用的,其中<port>必须与Listen指令中的<VirtualHost 10.0.0.1:80> ... 相同。)

那么,那么:

<VirtualHost sub.domain.tld:80>
    ...

或者这个:

{{1}}

同样有效。


有什么区别,应该首选哪种方法?

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有更多好的和坏的做法的例子。