诊断子域“服务器未find”:从哪里开始?

我有一个奇怪的问题。 我会快速的设置:

DNS

以下是指向相同IP的Alogging:

  • www.domain.com
  • domain.com
  • login.domain.com
  • dev.domain.com

我已经尝试使用CNAME的子域,但是这并没有改变任何东西。

Apache 2安装程序

我有两个虚拟主机

<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/a [...log setup] </VirtualHost> 

 <VirtualHost *:80> ServerName dev.domain.com DocumentRoot /var/www/b [...log setup] </VirtualHost> 

请注意,没有为login.domain.com设置主机。

问题

现在的问题。 当我进入dev.domain.com它说服务器没有立即发现。 已经尝试清除caching和所有这一点,并在几台电脑上。 www.domain.com和domain.com服务于正确的目录。 由于某种原因,login.domain.comredirect到domain.com。

上面的configuration是唯一启用网站的configuration,但它也从phpmyadmin加载configuration。

我想我问的是,我该如何开始诊断问题? 我怎样才能解决DNS问题? 我已经尝试添加dev.domain.com作为当前configuration的serveralias – 没有任何改变。 我不知道为什么login.domain.comredirect – 根据我所见,没有任何通配符。

我从哪说起呢?

当有人查询一个不存在的域名时,不存在的回复(NXDOMAIN),caching在中间的DNS服务器上。

可能为dev.domain.com,负面答复被caching在某处。

要testing,请尝试

 1. nslookup dev.domain.com (or dig dev.domain.com) 2. nslookup dev.domain.com ns1.domain.com (or dig @ns1.domain.com dev.domain.com) 

如果是这样的话,你会在1中得到否定的答案,在2中得到你的IP。

没有其他解决scheme可以等待SOAlogging的最后一个字段中指定的时间(nslookup -type = SOA domain.com或挖掘domain.com SOA)。 为了防止它在将来,放在那里一些较低的价值。

至于login.domain.com – 它回落到第一个定义的VirtualHost。 这是正常的行为。

(我同意,如果你发布真正的域名,这将使我们的生活更好)

我想我问的是,我该如何开始诊断问题? 我怎样才能解决DNS问题?

  1. 在Apache中使用virthosts的情况下,fist virthost可以作为所有主机请求的回退,这些请求在visthosts列表中找不到,但由于DNSconfiguration(或其他方法)而到达服务器,所以对于不存在的virthost
  2. 永远不要在与域相关的问题上掩盖域名 – 这样你就保证迫使所有对猜测的答案感兴趣,而不是testing和debugging。
  3. 对于我来说,“dev.domain.com”根据你的报价是完全有效的,但我更愿意testing它的现实生活
  4. 疯狂的猜测 – dev.domain.com可以以某种方式解决错误的IP,没有HTTP服务器上。 如何testing
    • nslookup dev.domain.com,validationIP-of-dev.domain.com
    • traceroute IP-of-dev.domain.com或traceroute dev.domain.com
    • telnet dev.domain.com 80并执行最短的http会话(如果已连接)或使用wget dev.domain.com/index.file用于监视网站dev的http-client行为