我继承了一片烂摊子,需要你的帮助来解决它。
两个主要目标是更改“Example.com”的 DNS 记录,以便“内部托管”的电子邮件服务器(域名注册商和电子邮件服务器主机相同)继续运行,而域名本身指向“外部托管”的网站。
信息如下:
1.“Example.com”DNS 由公司 A 管理
。2.“Example.com”A 记录指向由公司 Z 托管的旧站点。3
.“Example.com”新站点作为用户 (~exampledotcom) 存在于公司 B 的帐户中
。4.“Example.com”电子邮件服务器在公司 A 的虚拟主机帐户上运行。
目前,公司 A 上存在的“Example.com”的 DNS 条目如下(类型、名称、数据)
A Record, example.com, [IP address of Virtual Server hosted by Company A that powers Email server but does NOT host current OLD site]
A Record, www.example.com, [IP address of OLD site]
MX Record, example.com, Pref=10 example.com
Then all standard CNAME entires point to 'example.com'
如果我正确理解了当前设置,“他们”将“example.com”指向电子邮件服务器地址只是为了将 MX 记录设置为“example.com”。您不能简单地将 MX 记录更改为电子邮件服务器的 IP 地址吗?
我需要如何安排我的名称服务器?由 B 公司托管的新网站是否需要使用专用 IP,以便我可以将 Example.com 的 A 记录设置为该 IP?
答案1
[坦白说,这里有太多虚假数据,这可能会造成不必要的混乱。我会尽量让一切保持清晰。]
如果我理解正确您的问题,您当前有以下 DNS 记录:
example.com. A 1.2.3.4
example.com. MX 10 example.com.
www.example.com. A 4.5.6.7
...以及一堆未指定的CNAME
记录。此外,还存在:
some.other.host. A 2.3.4.5
...托管您的新网站。
您希望example.com
(并且大概www.example.com
)在不中断电子邮件的情况下指向您的新网站。
尝试这个:
注册为指向 的
mx.example.com
新记录。更新 的记录以指向 。此时,您将拥有:A
1.2.3.4
MX
example.com
mx.example.com
example.com. A 1.2.3.4 mx.example.com A 1.2.3.4 example.com. MX 10 mx.example.com. www.example.com. A 4.5.6.7
现在等待记录的至少两倍 TTL,以确保旧的 MX 记录有时间从 DNS 缓存中过期。
接下来,更新
A
记录example.com
并www.example.com
指向您的新网站。您最终将得到类似以下内容的内容:example.com. A 2.3.4.5 example.com. MX 10 mx.example.com. mx.example.com. A 1.2.3.4 www.example.com. A 2.3.4.5
到目前为止,我认为您已经得到了想要的东西。电子邮件继续由您现有的邮件服务器处理,但您的网络状态已转移到新主机上。
答案2
在单独的域名/DNS、Web 和电子邮件提供商上:
将您的 DNS、网站托管和电子邮件托管在三个不同的实体并不一定是坏事。这样做有充分的理由:
- 将您的域名注册和 DNS 服务与您的网络托管服务提供商分开,可确保您的网络主机不会试图让您难以更换提供商。
- Google Apps 和 Office 365 等专业电子邮件产品远的优于与网络托管帐户捆绑在一起的电子邮件帐户。
共享 IP 地址是否适合您的网站:
- 该网站确实不是需要使用专用 IP 地址。
- 但是,如果网站的 IP 地址与其他网站共享,则 Web 服务器必须支持基于名称的虚拟主机。
- 我建议使用和来配置
VirtualHost
您ServerName www.example.com
的ServerAlias example.com *.example.com
。 - 这可以在实际切换之前通过配置进行测试新的一条记录
www2.example.com
并将其指向新网站的 IP 地址。
我建议执行以下操作:
- 修改
A
记录,www.example.com
使其指向您当前网络主机的 IP 地址。 - 创建指向您的入站电子邮件 (SMTP) 服务器的
A
记录。mail.example.com
- 创建一条
MX
记录,将入站邮件定向到mail.example.com
- 为您的出站邮件创建
TXT
包含正确 SPF 信息的记录。 - 如果您正在管理自己的邮件服务器(但除非您是邮件专家,否则请不要这样做),请确保其 IP 地址的所有者已创建记录,
PTR
以便反向查找将此地址标识为mail.example.com
。这是不是在您创建A
记录和MX
记录的同一位置进行配置,并且您极不可能自己有能力执行此操作。
一两周后,一旦您确定新的 MX 记录已生效,您可以执行以下操作,以便尝试通过example.com
而不是访问您的网站的人www.example.com
不会感到失望:
- 修改(也称为)
A
的记录并将其指向新 Web 服务器的 IP 地址。example.com
@.example.com
DNS 更改的重要注意事项:
- 如果您要更改网站的 DNS 记录,您的旧网站需要保持在线(如果是静态的)或将代理请求转发到新网站(如果是动态的)至少直到您的旧 DNS 记录的 TTL 已经过期。不要在更改 DNS 设置以将访问者引导至新网站后,立即错误地关闭旧网站。
- 类似地,如果您的入站电子邮件服务器正在发生变化,您需要在旧电子邮件服务器的 IP 地址上设置 SMTP 代理,否则,某些电子邮件可能无法正确传递,直到旧 MX 记录的 TTL 和/或长达 48 小时过去为止。
- 当然,这些影响可以在一定程度上得到缓解,方法是将“旧”DNS记录的TTL缩短到相对较短的时间(例如7200秒==2小时),然后等待直到以前的TTL 已过期前做出任何改变。
答案3
总结
创建一个 A 记录,将 mail.example.com 指向您内部托管的电子邮件服务器的 IP 地址。将您的 MX 记录更改为指向邮件服务器的 A 记录。
将 @.example.com 的 A 记录更改为指向新网站的服务器的 IP。为 www.example.com 创建指向 @.example.com 的 CNAME。或者您可以创建另一个 A 记录,将 www.example.com 指向新的网络服务器。
再深入一点
您可能感兴趣的一些内容:
- 'Example.com' 新网站作为用户 (~exampledotcom) 存在于 B 公司帐户中。
仅供参考,我希望您有好的重定向规则来掩盖该网站位于用户目录中。这没有技术问题,但是……似乎有点不对劲。
如果我正确理解了当前设置,“他们”将“example.com”指向电子邮件服务器地址只是为了将 MX 记录设置为“example.com”。您不能简单地将 MX 记录更改为电子邮件服务器的 IP 地址吗?
他们没有将 example.com 的 A 记录设置为与电子邮件服务器相同的地址,原因可能只是因为它可能是一个运行 Web 服务器、电子邮件服务器、FTP 服务器以及他们用于管理网站的其他任何服务的一体化服务。是的,A 记录和 MX 记录是独立的,可以指向不同的主机。
我需要如何安排我的名称服务器?由 B 公司托管的新网站是否需要使用专用 IP,以便我可以将 Example.com 的 A 记录设置为该 IP?
您不需要专用 IP。大多数 Web 服务器都设置为执行虚拟主机区分,这样,无论您是否与数十或数百个其他网站共享 IP 地址,对您网站的请求都会发送到正确的目录。
您的 NS 记录需要指向持有您的 DNS 条目的任何人,在您的场景中是公司 A。您的注册商将持有粘合记录(您的名称服务器的名称以及它们的名称解析为的 IP 地址的记录),并且在您的情况下,注册商也是 DNS 主机。
总而言之,听起来不算太乱。我见过更糟的。=)