Apache的默认虚拟主机只有在域名parsing为IP而不是名称服务器时才起作用?

我有一个域使用我的主机的名称服务器,但是没有为它创build特定的虚拟主机。 当我去的域名,我找不到页面。 如果我更改我的主机文件,使域指向第一个名称服务器的IP地址,或者如果我为www设置一个DNS条目作为IP,它就像我想要的那样工作。

根据访问和错误日​​志,它甚至不会像请求到达Apache那样。 除了doamin的域名服务器以外,还有其他的configuration需要configuration吗? ping域名会导致找不到主机,但ping具有虚拟主机部分的域名将作为域名服务器的IP。 我错过了什么?

我不确定我是否已经正确地理解了这个问题,所以让我首先说出我认为你在说什么:

  • 你有一个主机名(比如host.example.com)
  • 在你的example.com DNS服务器上configuration哪一个IP地址来指向一个IP(比如说1.2.3.4)
  • 当您将host.example.cominput到浏览器中时,请求不会显示在apache访问/错误日志中,并且来自Apache的内容不会显示在浏览器中
  • 当您在/ etc / hosts中inputhost.example.com – > 1.2.3.4的映射时,页面会正确加载

我不明白你的意思是“ping一个有虚拟主机的域名作为域名服务器的IP出现”

由于在添加主机条目时一切正常,这听起来就像Apache设置正确。 由于没有主机条目不起作用,我的猜测是你的DNS条目是错误的。 检查“dig host.example.com”时会发生什么 – 是否返回正确的IP?

更新:根据这些附加信息:

NewDomain.com也使用ns1.mydomain.com和ns2.mydomain.com。 屏蔽它什么都没有。 如果我在主机文件中将ns1.mydomain.com的IP设置为NewDomain.com,它就可以工作。 当我在NewDomain.com上进行挖掘时,状态是SERVFAIL,没有答案,权限或其他部分

问题很清楚。 当您注册newdomain.com时,您需要告诉注册商它位于ns1.mydomain.com和ns2.mydomain.com; 他们需要设置“胶水”logging,以便其他人可以发现这一点。 其中有一部分失败了 – 要么你没有告诉注册服务商; 或者他们还没有build立胶水logging。