首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于viewdns.info的WWW查询警告

基于viewdns.info的WWW查询警告
EN

Server Fault用户
提问于 2019-03-29 11:56:12
回答 1查看 598关注 0票数 1

当我使用ViewDNS.info测试工具时,为什么我会收到其中一个域的警告:

WWW记录测试警告WWW CNAME查找Oops!您有一个CNAME条目为您的WWW记录,但A记录相关的不返回它!这意味着需要执行额外的查找,不需要增加站点的加载时间。

我搜索了这个警告报告,但是没有发现任何有意义的东西,google搜索结果只返回一个页面,没有太多的相关性。

有人知道这意味着什么吗?为什么会发生这种事?这里是真正的杀手--如果你检查godaddy.com和ViewDNS.info,他们的域名也会收到这个警告!知道我不是唯一一个有这个问题的人,我有点安慰,但我想知道为什么?我怎么才能解决这个问题?更重要的是,我是否需要改变(1)我的DNS记录,或者(2)在我的服务器/主机上,或者(3)在两个地方,或者(4)它与NameSilo NS有某种关系?

我已经用viewdns.info测试了我的两个域;一个域是用NameSilo注册的,一个域是用Domain.com注册的。

NameSilo+VPS (Domain.com +与cPanel共享托管)

现在,就我的知识而言(当涉及到DNS时,这是有限的,因为我是自学的),两者都是以相同的方式配置的。当然,唯一的区别是IP地址、域名和一些参数的值。但是,总的来说,A和CNAME的记录是相等的。

示例:

代码语言:javascript
复制
A record on NameSilo
.exampledomain1.com => 1.2.3.4
*.exampledomain1.com => 1.2.3.4

A record on Domain.com
@.exampledomain1.com => 1.2.3.4
*.exampledomain1.com => 1.2.3.4

备注:

在这两个域中,我都使用没有www的版本,并且在服务器端执行所有重定向。那部分运作得很好。

在NameSilo中,我将空白.exampledomain1.com放在上面,而在Domain.com上,它是@.examusuomain2.com --我认为效果是相同的,例如指向“根”?

代码语言:javascript
复制
CNAME records on NameSilo/Domain.com respectively

www.exampledomain1.com => exampledomain1.com
www.exampledomain2.com => exampledomain2.com

当我执行dns总体检查时,examtestomain2.com (Domain.com)在WWW记录测试> WWW查找部分下不返回错误,但是,我确实收到了examusuomain1.com (NameSilo)的警告。

我已经用dig测试了域(通配符*下面的意思是数字1或2):

代码语言:javascript
复制
dig exampledomain*.com
dig www.exampledomain*.com
dig CNAME exampledomain*.com
dig CNAME www.exampledomain*.com

我收到了非常类似的报告,这意味着在这方面一切都是可以的。

关于NameSilo的一件事是,存在一些SOA问题,例如:

代码语言:javascript
复制
error: All nameservers have same SOA serial number
warning: SOA serial number format

但是,那部分不是我控制的(我想)。

谢谢!

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-03-29 14:17:04

TLDR;

我认为这一警告的主要原因是:“您的WWW记录有一个CNAME条目,但是与它相关的A记录没有返回!”是您无法控制的DNS服务器设置。

你可以通过将CNAME记录改为A记录来解决这一问题。

如果您有一个具有以下两个资源记录的区域的权威名称服务器:

代码语言:javascript
复制
    example.com.  3600   IN  A      192.0.2.1
www.example.com.  3600   IN  CNAME  example.com. 

以及www.example.com的记录。请求,那么最小的响应就是CNAME记录和dig查询可能返回:

代码语言:javascript
复制
;; ANSWER SECTION:
www.example.com.       3600    IN      CNAME   example.com.


;; Query time: 1 msec

在这个最小的响应之后,您仍然没有所需的ip地址,解析器将需要执行第二个查询来查看什么example.com。决心要。对example.com的查询。将导致以下反应:

代码语言:javascript
复制
;; ANSWER SECTION:
example.com.           3600    IN      A       192.0.2.1


;; Query time: 1 msec

AFAIK名称服务器按惯例但不是强制性的(在CNAME记录位于同一区域或同一DNS服务器也具有权威性的不同区域的特殊情况下),名称服务器会有一定的猜测,即返回CNAME记录类型作为响应的查询将可预测地后面跟着对该CNAME的查询。

名称服务器将先发制人,它将解释请求,展开CNAME,并将这两条记录简单地作为一个响应发送。(至少这似乎是旧的RFC 1034第4.3.2段中的逻辑)。

代码语言:javascript
复制
;; ANSWER SECTION:
www.example.com.       3600    IN      CNAME   example.com.
example.com.           3600    IN      A       192.0.2.1

;; Query time: 1 msec

这使得响应更大,但在大多数情况下将为客户端节省第二次查询和第二次往返。

当您的名称服务器不需要执行这个逻辑时,它会更快。

由于您不控制名称服务器,只有您自己的域的数据,您可以简单地不使用CNAME记录,而是使用A记录,然后创建一个区域,从而使警告消失:

代码语言:javascript
复制
    example.com.  3600   IN  A      192.0.2.1
www.example.com.  3600   IN  A      192.0.2.1
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/960616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档