![我是否必须在 /etc/host 中指定新添加的域?](https://linux22.com/image/697190/%E6%88%91%E6%98%AF%E5%90%A6%E5%BF%85%E9%A1%BB%E5%9C%A8%20%2Fetc%2Fhost%20%E4%B8%AD%E6%8C%87%E5%AE%9A%E6%96%B0%E6%B7%BB%E5%8A%A0%E7%9A%84%E5%9F%9F%EF%BC%9F.png)
我购买了一个新域名,然后正确设置了 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 中的所有内容,因此请谨慎处理。