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

我想切换我们的网站的DNS没有任何服务中断

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

JamesRyan的重要提示:

请记住,有些DNS服务器并不尊重低TTL和高速caching。 预计会有一些重叠。

^这确实是一个相当大的问题。


背景:

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

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

现在24小时后,30%的互联网仍然使用错误的提供者(bluehost),这在whois中没有引用。 (涉及Pingdom +多个用户报告,他们不能访问我们)

正确的方法来做到这一点:

  1. 将区域TTL改为最小 – 大多数情况下是300秒(5分钟)。 在这个阶段不要改变任何logging。
  2. 等待48小时。
  3. 做这个改变。 只需5分钟即可传播更改。
  4. 将TTL还原为标准的48小时。

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

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

通常你只要让你的域名注册商更改域名服务器条目,确保新的提供商已经build立起来了,而且旧的提供商会保留他们的条目至less48小时。

正如另一个答案中提到的那样,如果您只是更改自己的logging,则可以事先降低logging中的TTL,以实现近乎即时的交换,尽pipe一些错误的DNS服务器仍然会caching更长的时间。

首先,让我们理清术语,因为目前还不清楚你在问什么。

有三个部分您的主机设置:

  1. 注册商
  2. 域名服务器托pipe
  3. 服务器托pipe

三家公司都是由同一家公司提供的,这并不罕见,但没有任何要求。 当你从同一家公司买下1件商品时,对于2件没有单独的收费也是相当普遍的,这增加了混乱。

注册服务商负责告诉父域的维护人员你的域名是什么,域名服务器是什么。

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

服务器是您可能最熟悉的部分,并且是网站请求和电子邮件的结尾。

一旦你确定了哪一个你已经改变或者想要改变,你能否修改这个问题使之更加清晰?


我会假设你正在改变你的域名服务器托pipe。 要做到这一点,你必须:

  1. find一个新的名称服务器主机,并设置您在当前名称服务器主机上的所有logging。
  2. 请联系您的注册商,并要求他们将权威的域名服务器更改为您刚设置的新域名服务器。 这一步将需要一些时间,因为他们可能不会立即做,所涉及的TTL通常是48小时。
  3. 一旦所有新的DNS请求到达新的名称服务器,closures旧的名称服务器。

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

B)如果您正在运行自己的服务器 – 为了尽可能减less停机时间,请在源服务器上使用代理服务器,并在目标位置使用IP提取器(forwarded_for头)(因此源IP可以相同),移动文件,更新DNSlogging后等待stream量在源服务器上停止