'/etc/hosts' 是否需要包含服务器托管的所有域?

sbr*_*tla 0 ubuntu hosts-file

我即将设置一个新的 Ubuntu 10.04 服务器,它将充当 Web 服务器。服务器将托管几个域,包括几个子域。'/etc/hosts' 是否需要包含所有域和子域,还是仅仅让它包含标准的 localhost 行和如下所示的公共 IP 地址行就足够了?

127.0.0.1               localhost                       web00.example.com
173.203.99.130          web00.example.com               web00
Run Code Online (Sandbox Code Playgroud)

我认为没有 '/etc/hosts' 列出 Web 服务器托管的域的后果是 DNS 查找不能在内部完成,而必须移交给外部 DNS 服务器?

dig*_*ons 6

我有许多托管多个网站的服务器,但从未设置 /etc/hosts 来包含托管的域。如果您的网站确实引用了自己很多,尽管它们可能会通过否定 DNS 查找获得一些性能。虽然它对我来说从来都不是问题,而且它绝对不需要,但可能不是一个坏主意。

如果您设置 /etc/hosts 将域指向 127.0.0.1,您还可以解决连接到公共接口的 127.0.0.1 流量的任何潜在防火墙问题,但当然虚拟主机必须设置为侦听 127.0。 0.1 以及它的工作。