我是否必须在 /etc/host 中指定新添加的域?

我是否必须在 /etc/host 中指定新添加的域?

我购买了一个新域名,然后正确设置了 DNS 记录 (A ...)。该域名指向我的服务器,然后 Apache VirtualHost 拦截 HTTP 查询。

问题很简单:我是否必须在 /etc/host 文件中为新添加的域添加一个条目?

答案1

为了扩展 Iain 的正确答案,在正常情况下,您依赖 DNS 并且不需要任何内容​​,/etc/hosts并且您当然不需要将指向您的服务器的每个 DNS 条目和域添加到您的主机文件中。

由于 localhost 始终指向 127.0.0.1,因此您不需要使用 dns 来解析该静态主机名,并且约定是将 localhost 包含在您的 hosts 文件中。

在极少数情况下,DNS 无法工作(单用户/救援模式),将服务器的主机名放在 hosts 文件中会很有用,但这不是必需的。注意:您的服务器只有一个主机名,但有无数个 DNS 条目可以指向您的服务器。

使用 hosts 文件条目的唯一其他原因是绕过 DNS,要么使用 DNS 中不存在的主机名,要么覆盖 DNS

答案2

问题很简单:我是否必须在 /etc/host 文件中为新添加的域添加一个条目

不。

答案3

我只想补充一下 HBruijn 的回答,即只有在需要时才应编辑 hosts 文件。如果您开始在 hosts 文件中硬编码您的 ip,您可能会忘记它,并且如果您最终在 dns 中更改 ip,您会发现问题。hosts 文件的优先级高于 dns 中的所有内容,因此请谨慎处理。

相关内容