AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1047672
Accepted
William
William
Asked: 2020-12-28 03:57:41 +0800 CST2020-12-28 03:57:41 +0800 CST 2020-12-28 03:57:41 +0800 CST

如果 CNAME 和 A 记录都存在,DNS 查找顺序是什么?

  • 772

如果我们为同一个子域设置了一条 A 记录和一条 CNAME 记录,那么 DNS 查找是如何完成的呢?

例如,

A record: 
example.com => xx.xx.xx.xx
www.example.com => xx.xx.xx.xx

CNAME record:
www. => example.com

解析www.example.com时,DNS 解析器是直接查找子域 www 的 A 记录并获取 ip,还是查找 www 的 CNAME 以获取重定向域(example.com),然后查找 A记录example.com到底获取ip?

domain-name-system dns-hosting dns-zone
  • 1 1 个回答
  • 575 Views

1 个回答

  • Voted
  1. Best Answer
    Håkan Lindqvist
    2020-12-29T03:05:34+08:002020-12-29T03:05:34+08:00

    什么是CNAME记录?

    记录所做的CNAME是将所有者名称CNAME(添加记录的名称)定义为记录值中名称的别名(规范名称,根据记录类型的名称)。
    请注意,这个别名的定义是在名称级别上的,完全不考虑记录类型。

    所有者名称是别名的一个含义是它不能也有其他记录,因为这将与它只是作为另一个名称的别名直接冲突。

    从解析器的角度来看,如果您查询A,则响应的有效选项是A输入的答案(如果名称不是别名)或CNAME输入的答案(如果名称是别名)。将两者取同名不是一种选择(无论如何,这不是标准所允许的并且会定义行为的选项)。

    那么我的 DNS 服务提供商如何做到这一点呢?

    假设他们允许您并排添加CNAME和记录的说法是正确的,那么他们的服务会发生一些不明显的事情。A

    我会将其分为两个主要选项,在不了解更多信息的情况下,实际上不可能知道哪个与您的情况相关:

    • 他们的系统不是直接使用用户输入,而是以一种或另一种方式将其转换为有效的东西。他们可能会添加一个冲突记录但不添加另一个(这意味着 UI 有点糟糕),或者它可能具有某种形式的“CNAME 扁平化”功能,它们实际上并不提供CNAME用户输入的记录,而是从规范名称的末尾解析相关记录,并像直接在别名处一样提供这些记录(这是非标准功能,但某些服务已将这种类型的动态查找实现为“扁平化” CNAME)。
    • 他们的系统已损坏,允许用户添加规范中不允许的不一致数据,并且可能会以一种或另一种方式导致奇怪的问题(通过他们的服务中断或他们的服务实际提供可能会破坏的不一致数据解析器端)。用户会在他们的服务中利用这种类型的破损来击中自己的脚。
    • 3

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve