子域名无法解析

子域名无法解析

我有一台 Ubuntu+Virtualmin 服务器,上面有多个网站。网站运行正常,但不知何故“www.”和其他子域名无法解析。

我的服务器 IP 是 107.170.xxx.xx。如果我将此记录添加到本地计算机上的 /etc/hosts,则可以访问 www.site.com,因此 Apache2 正常运行:

107.170.xxx.xx www.site.com 

nslookup:

> site.com
Server:     200.30.xxx.xx
Address:    200.30.xxx.xx#53
Non-authoritative answer:
Name:   site.com
Address: 107.170.xxx.xx

> www.site.com
Server:     200.30.xxx.xx
Address:    200.30.xxx.xx#53

** server can't find www.site.com: NXDOMAIN

所有站点的 BIND9 记录都类似(我尝试过 CNAME,但没有成功):

$ttl 38400
@   IN  SOA host-domain.com. root.host-domain.com. (
            140xxx7595
            10800
            3600
            604800
            38400 )
@   IN  NS  host-domain.com.
site.com.   IN  A   107.170.xxx.xx
www.site.com.   IN  A   107.170.xxx.xx
ftp.site.com.   IN  A   107.170.xxx.xx
m.site.com. IN  A   107.170.xxx.xx
localhost.site.com. IN  A   127.0.0.1
webmail.site.com.   IN  A   107.170.xxx.xx
admin.site.com. IN  A   107.170.xxx.xx
mail.site.com.  IN  A   107.170.xxx.xx
site.com.   IN  MX  5 mail.site.com.
site.com.   IN  TXT "v=spf1 a mx a:site.com ip4:107.170.xxx.xx ?all"

答案1

您必须逐个跟踪 DNS 查询,才能查看它在哪里崩溃。在您的 PC 上,尝试以下操作:

nslookup
 > 设置类型=ns
 > site.com

这将返回名称服务器列表。选择其中一个:

> 上面的服务器 ip_address_of_one_of_the_NS_servers_returned_above

那么该服务器应该有 www 记录。通过运行以下命令确认:

> 设置类型=a
 > www.site.com

答案2

其实问题很简单。我的网站托管在 Digital Ocean,而他们的 DNS 记录中只有非 www 域名。

我仍然不知道如何动态添加所有子域(不支持星号)但那是另一回事。

相关内容