如果您更改域名服务器,是否会使您在域名注册商中输入的所有 DNS/MX/A 记录作废?

If you change your domain nameservers does that void all DNS/MX/A record you input in your domain registrar?

假设您有一个域 (mydomain.com) 注册到注册商,比如 namecheap,

您已设置 MX 记录来处理发送到您域的电子邮件

您已经设置了一个 A 记录来使子域使用不同的虚拟主机

Name: intranet.mydomain.com
Value: 108.xxx.xxx.xx
Type: A name

现在,您想将主域托管到虚拟主机,这样当用户将 mydomain.com 加载到他们的浏览器时,它将使用虚拟主机来加载资源

问题,虚拟主机需要您更新域名服务器才能使用

ns1.myhost.com
ns2.myhost.com

将我的域名服务器更新到我的域名注册商以使用上面的域名服务器是否会 void/not-implement 已经存在的 A 记录?

如果没有,你是如何解决问题的? 谢谢!

通俗地说:

您需要区分 3 种不同(但相关)的服务:

  1. 域名注册 - 您在这里为您的域名付费。除了名称本身,您还需要在此处输入您的域名服务器名称,它将指向托管下一个服务的位置:
  2. DNS 服务 - 您可以在此处输入指向您的其他服务(虚拟主机、邮件服务器等)的所有记录(A、MX 等)
  3. 服务托管提供商(例如网络托管或电子邮件服务)

您可以让不同的方为您托管这些服务,但一个服务提供商可以提供所有这些服务的情况并不少见。根据您的描述,目前您的域名注册商 (1) 似乎也在托管您的 DNS 服务 (2)(这很常见)。现在,您的新网络托管提供商想要托管您的 DNS 服务,并要求您在您的名称注册商处输入其名称服务器名称(这也很常见)。你是对的,如果你这样做,你在当前 DNS 提供商处输入的任何 DNS 记录都将无效(它们将保留在那里,但没有最终用户会看到它们,因为 (1) 将指向他们使用你的新主机提供商的名称服务来解析您的域记录)。

您有两个选择:

  1. 不要遵从您的网络托管服务商的要求,而是询问他们您需要在当前的 DNS 服务提供商处添加哪些 DNS 记录(可能是 A 或 CNAME)才能访问您的新网站。
  2. 遵从您的网站托管服务商的要求,但随后您必须转到新提供商的名称服务控制台,并再次添加您已经在之前的 DNS 提供商处输入的所有记录。

我会选择选项 1,因为风险较小