如何在不中断服务的情况下切换网站 DNS?

如何在不中断服务的情况下切换网站 DNS?

我想在不中断服务的情况下切换我们网站的 DNS

服务器 IP 保持不变。
通常需要 24-48 小时才能更新整个互联网。
是否可以同时让两个 DNS 工作?

JamesRyan 的重要提示:

请记住,有些 DNS 服务器无论如何都不会遵守低 TTL 和缓存。预计会存在一些重叠。

^ 这确实是个大问题。


背景:

我将我们网站的 DNS 更改为另一个提供商(bluehost,它似乎坏了,经常显示他们的广告页面而不是我们的网站),所以我在大约 2 小时后切换回了旧的原始 DNS。

服务器的 IP 保持不变,所以我希望不会出现任何服务中断,因为两个 DNS 都显示相同的服务器。

现在 24 小时后 30% 的互联网仍然使用损坏/错误的提供商 (bluehost),该提供商未在 whois 中引用。(关于 Pingdom + 几个用户报告他们无法访问我们)

答案1

正确的做法:

  1. 将区域 TTL 更改为最小值 - 大多数情况下为 300 秒(5 分钟)。在此阶段不要更改任何记录。
  2. 等待 48 小时。
  3. 进行更改。只需 5 分钟即可传播更改。
  4. 将 TTL 恢复为标准 48 小时。

此过程适用于所有更改,而不仅仅是 NS 更改。如果您需要更改 A 记录的 IP 地址,它将以完全相同的方式工作。虽然这可能不是绝对必要的,并且理论上您可以同时运行两个名称服务器,但这不是一个好主意。您永远不知道在这 48 小时内是否需要进行紧急更改。

答案2

如果您要更改 DNS 提供商(whois 中显示的名称服务器),那么您可以同时运行它们。查看我的域,GTLD 服务器(告诉其他互联网用户谁运行我的 DNS 的服务器)使用的 TTL 是 48 小时。据我所知,这不可能改变。

通常您要做的就是让您的域名注册商更改名称服务器条目,确保新提供商已设置,并且旧提供商保持其条目有效至少 48 小时。

正如另一个答案中提到的,如果您只是更改自己的记录,您可以预先减少记录上的 TTL 以进行近乎即时的交换,尽管一些糟糕的 DNS 服务器仍会缓存更长时间。

答案3

首先,让我们理清一下术语,因为我们还不清楚您在问什么。

您的托管设置分为三个部分:

  1. 注册官
  2. 名称服务器托管
  3. 服务器托管

这三项服务通常由同一家公司提供,但这并不是强制要求的。当您从同一家公司购买了第 1 项服务时,第 2 项服务无需单独收费,这也是很常见的情况,这增加了混乱。

注册商负责告知父域的维护者您的域存在以及它的名称服务器是什么。

名称服务器负责将您的域和子域映射到 IP 地址(以及名称服务器可以执行的所有其他操作)。

服务器可能是您最熟悉的部分,网站请求和电子邮件最终到达那里。

一旦您确定您已经更改了或者想要更改哪一个,您可以修改问题以使其更清晰吗?


我假设您正在更改名称服务器托管。为此,您必须:

  1. 查找新的名称服务器主机并设置您在当前名称服务器主机上拥有的所有记录。
  2. 联系您的注册商,要求他们将权威名称服务器更改为您刚刚设置的新名称服务器。此步骤需要一些时间,因为他们可能不会立即执行此操作,并且所涉及的 TTL 通常为 48 小时。
  3. 一旦所有新的 DNS 请求都到达新的名称服务器,就关闭旧的名称服务器。

答案4

A)如果你在共享主机服务上运行网站 - 尽可能使用 DNS TTL 进行操作

B)如果你正在运行自己的服务器 - 为了尽量减少停机时间,请在源服务器上使用代理,并在目标服务器上使用 IP 提取器(forwarded_for 标头)(因此原始 IP 可以相同),移动你的文件,更新 DNS 记录后,等到源服务器上的流量停止

相关内容