Apache 默认虚拟主机仅在域解析为 IP 时才有效,而使用名称服务器时则无效?

Apache 默认虚拟主机仅在域解析为 IP 时才有效,而使用名称服务器时则无效?

我有一个使用我主机的名称服务器的域,但是没有为其创建特定的虚拟主机。当我访问该域时,我得到页面未找到。如果我更改我的主机文件以使域指向第一个名称服务器的 IP,或者如果我设置一个 DNS 条目以将 www 设置为 IP,它就会像我希望的那样工作。

根据访问和错误日​​志,请求似乎甚至没有到达 Apache。除了域名服务器之外,我还需要配置其他什么才能使其正常工作?ping 域名会显示主机未找到,但 ping 具有虚拟主机部分的域名会显示名称服务器的 IP。我遗漏了什么?

答案1

我不确定我是否正确理解了这个问题,所以让我首先陈述一下我认为你所说的内容:

  • 您有一个主机名(假设为 host.example.com)
  • 在您的 example.com DNS 服务器上配置为指向 IP(假设为 1.2.3.4)
  • 当您在浏览器中输入 host.example.com 时,该请求不会显示在 Apache 访问/错误日志中,并且来自 Apache 的内容也不会显示在浏览器中
  • 当您在 /etc/hosts 中输入 host.example.com -> 1.2.3.4 的映射时,页面确实可以正确加载

我不明白你说的“对具有虚拟主机部分的域名执行 ping 操作后,显示的是名称服务器的 IP”是什么意思

由于添加主机条目后一切都运行正常,因此听起来 Apache 设置正确。由于没有主机条目它就无法工作,我猜是您的 DNS 条目错误。检查当您“dig host.example.com”时会发生什么 - 它是否返回正确的 IP?

更新:根据以下附加信息:

NewDomain.com 也使用 ns1.mydomain.com 和 ns2.mydomain.com。Ping 后没有任何结果。如果我在 hosts 文件中将 ns1.mydomain.com 的 IP 设置为 NewDomain.com,它就可以正常工作。当我在 NewDomain.com 上进行挖掘时,状态为 SERVFAIL,没有答案、权限或其他部分

问题很明显。当您注册 newdomain.com 时,您需要告诉注册商它托管在 ns1.mydomain.com 和 ns2.mydomain.com 上;他们需要设置“粘合”记录,以便其他人可以发现这一点。其中某些部分失败了 - 要么您没有告诉注册商;要么他们尚未设置粘合记录。

相关内容