您的问题在这里与编程无关,因此可能会被删除,但以下内容太长,无法发表评论以帮助您:
Host Europe 技术支持告诉我,如果您这样做,他们会立即删除其名称服务器上的 DNS 条目。
这是非常糟糕的行为。NS
他们的名称服务器仍然会在基本上是父记录的 TTL 的时间内获得查询。
是否有可能,我的网站的停机时间是因为机器仍然询问旧名称服务器并且他们说“不知道”?
是的,这正是发生的事情。老提供者不应该立即拔掉插头。DNS中有很多缓存。
如果您可以控制记录上的 TTL 值,则可以在名称服务器更改之前尝试在旧提供商处向上调整它们。它可能有一点帮助或根本没有帮助,并不是所有的 DNS 提供商都让人们自由选择 TTL。大约 1 周的某个地方将是一个很好的球场。
注册商这样做是否正常?谷歌域名如何?Cloudflare 如何注册?
正常,如“不幸地普遍”,可能是的,但不能对任何特定公司发表评论。另请注意,这里的问题不在于注册商角色,而在于 DNS 提供者角色。两者可以是同一家公司,但角色不同。没有全球性的 DNS 组织,其中许多注册服务商都获得了 ICANN 的认可(但他们对 IIRC 这个案例只字未提),并且在所有情况下都得到了注册管理机构的认可。我可以肯定地说,至少有一个注册机构(AFNIC for .FR)确实要求/要求/推荐(不确定措辞)注册商/DNS 提供商保留旧的 DNS 配置以防发生变化。不幸的是,我不认为它被检查或强制执行。
以及如何避免这个问题?大 TLL 好还是小 TLL 好?我想我在切换之前将其设置为 10 分钟。
没关系,因为起作用的是父项(处理您的域注册的 TLD 的注册机构)NS
记录的 TTL(生存时间),您对其拥有 0 控制权。
不幸的是,这里没有真正适当的对策,您的 DNS 提供商需要正确地完成其工作,而不是立即降低解析度。部分解决方案可能类似于:
- 添加名称服务器而不删除当前名称服务器:请注意,它们需要在区域中列出,并且您需要在注册表中更改域,否则您将处于蹩脚的委托案例中(您也可以决定维持,但它是一般不好)
- 一段时间后(通常再次是父级的 TTL),您现在可以删除旧服务器(同样在区域和父级中)。
这样,即使旧域名服务器立即停止为您的域工作,所有解析器都有时间了解新域名,即使他们尝试联系旧域名服务器并收到错误,他们也可能(不保证总是工作当然至少会引入一些延迟)切换到新的。直到同样的 TTL 在第二点之后通过,之后所有解析器将只知道新的名称服务器。
另一个可能有效但意味着您将陷入蹩脚的委托案例的技巧如下。它之所以有效,是因为很多解析器,包括像谷歌公共 DNS 这样的大解析器,都是以子为中心而不是以父为中心:您更改区域内容以将新的名称服务器列为NS
记录,删除旧的,并且您不会在注册表方面进行任何更改. 这将使一些解析器(但不是全部)了解新的名称服务器,一段时间后您可以在注册表中进行切换。