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 / 问题 / 650489
Accepted
Phil Hannent
Phil Hannent
Asked: 2014-12-11 02:15:12 +0800 CST2014-12-11 02:15:12 +0800 CST 2014-12-11 02:15:12 +0800 CST

故障转移切换的最佳 CNAME TTL 策略

  • 772

我最近一直在考虑我们 DNS 的 TTL。我们的服务器有 A 记录,然后是面向客户的名称的 CNAME 记录。例如 www.example.com CNAME 指向 server-01.example.com。如果发生故障,我们将 CNAME 和 A 记录上的 TTL 设置为 15 分钟。

然而,我突然意识到这可能不是最佳的。当然应该是A记录是48小时,CNAME是15分钟。如果发生故障,CNAME 只会指向 server-02.example.com。A记录(理论上应该很开心的缓存了很久,因为我们使用CNAME作为切换器)。

环顾互联网,我发现很多人的 CNAME 长而 A 记录短: CNAME 和 A 记录具有不同的 TTL。哪个会被缓存?

这似乎与任何人想要的相反。问题是,DNS 是否以我希望的方式工作,因为如果我需要快速切换服务器,CNAME 请求 TTL 是重要的?

domain-name-system
  • 2 2 个回答
  • 2850 Views

2 个回答

  • Voted
  1. Best Answer
    Andrew B
    2014-12-11T09:03:12+08:002014-12-11T09:03:12+08:00

    假设顶点 A 记录example.com.指向一个损坏的 IP 地址,我认识的大多数公司都会更改 A 记录并www完全跳过更改:

    • 大多数管理员宁愿不让他们的网站被那些输入没有 www 前缀的网站名称的用户破坏。
    • 对于那些不相信他们的 webapp 开发者持续使用www.example.comover的管理员来说,这会增加一倍example.com。(提示:我们大多数人都没有)

    继续您的链接示例,您正在比较苹果和橙子。由于众所周知的 apex CNAME 问题,Web 托管方案中的 Apex DNS 记录是一个巨大的痛苦。在这种情况下只有两个正确的选择:根据需要更改顶点 A 记录以将其指向有效 IP,或者您完全放弃拥有顶点记录。两者之间的任何事情都是半生不熟和不一致的。

    不过,所有这些都有些离题:如果您依靠手动记录更改来处理服务的高可用性,那么您做错了。Web 浏览器访问的 IP 地址应该是负载均衡器、任播地址、CDN 或虚拟主机提供商,如果您自己的服务器场无法提供这种高可用性,则它们可以提供这种高可用性。如果您确信使用它们的主要应用程序遵循RFC 6724指南(即最流行的 Web 浏览器),多个地址记录也可以工作,但是许多应用程序是惰性的,并且只使用返回的第一个地址记录。


    为了论证的目的,让我们根据自身的优点来检查Google 的 CNAME 链,而不将其置于您最初问题的上下文中。这看起来很熟悉,因为它是我原始答案的文本:

    记录类型在这里无关紧要。如果记录需要经常更改,它应该有一个非常低的 TTL。如果不需要频繁更换,按理说它不需要低TTL,你可以使用任何你喜欢的东西。

    没有人(除了谷歌)可以真正评论为什么谷歌希望ghs.l.google.com IN A拥有比指向它的 CNAME 记录更低的 TTL。如果不了解其更大的设计,您将无法得出任何结论,而设计决定了您的活动部件。

    • 6
  2. wurtel
    2014-12-11T04:56:50+08:002014-12-11T04:56:50+08:00

    我同意。

    只要“真实服务器”有稳定的 IP 地址,A 记录就应该有很长的 TTL。保持 CNAME 记录上的 TTL 较低,以便在发生故障或其他情况时快速切换到另一台真实服务器。

    • 1

相关问题

  • 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