![使用 A 记录迁移站点并避免命名冲突](https://linux22.com/image/701544/%E4%BD%BF%E7%94%A8%20A%20%E8%AE%B0%E5%BD%95%E8%BF%81%E7%A7%BB%E7%AB%99%E7%82%B9%E5%B9%B6%E9%81%BF%E5%85%8D%E5%91%BD%E5%90%8D%E5%86%B2%E7%AA%81.png)
客户的新网站托管在我们的服务器上,但新网站的名称与他们的域名不同,因为我们将开发的网站托管在子域中。他们希望从我们的托管服务器加载新网站,而不会影响他们现有的电子邮件设置。我明白这应该通过将他们域上的 A 记录指向我们来实现,但是这让我开始有点困惑。
我发现,由于该网站在我们的帐户下使用了不同的名称,A 记录不会选择该网站。为了解决这个问题,我运行了查找和替换来匹配网站名称,但这仍然没有解决问题,所以我还为子域创建了一个别名作为实际域名。这似乎有效,但我很好奇是否有更好的方法以这种方式迁移网站?有什么建议吗?
答案1
我和@有同样的想法乔奎蒂- 更改 A 记录应该对电子邮件没有任何影响。
然而,这只有在正确的情况下才会成立墨西哥记录是否到位,并且(理想情况下)邮件服务器是否有有效的 A/PTR 对(我假设单数是针对一个 A 记录的)。
- SMTP 客户端必须查找 MX 记录;
- 如果(且仅当)不存在该域的 MX 记录,则将该域视为具有 MX 记录,其中给定域作为目标主机名,且首选项值为 0
- 根据需要执行 A 或 AAAA 查找以确定目标主机名的 IP 地址
我怀疑您在问题中提到的设置是这样的:
example.com IN A 1.1.1.1
并且想要改变这一点 - 这不应该是一个问题,只要你的 MX 看起来非常模糊地像这样:
example.com IN MX 10 smtp.example.com
以及适合您的 MX 主机的记录:
smtp.example.com IN A 1.1.1.1
你可能您的邮件服务器上也需要相应地调整主机名。
您的 MX 记录中的主机不需要位于同一个域内,这没有任何根本原因 - 例如,您可以让它们完全指向邮件提供商的主机。
答案2
取决于 MX 记录条目是什么,以及它们是否引用主域和/或该主域中的 www 主机。
如果他们的 MX 指向 mail.example.com 和 mail2.example.com,那么只需将 www.example.com 和 example.com 的 A 记录指向您的 IP 即可,而不会弄乱邮件。
如果他们没有 MX 记录,则可以创建一个,然后仍将邮件发送到当前的最终目的地。
问题在于 MX 记录是否指向 example.com 主机或 www.example.com 主机。如果是这种情况,则需要更新 MX 记录以指向指向当前接收所有邮件的机器的 A 记录,使用“mx.example.com”或“mail.example.com”之类的名称或任何合适的名称。完成此操作后,邮件继续流动,然后可以更新 example.com 和 www.example.com 的 A 记录。
假设您正在使用基于 Apache 名称的虚拟主机,那么一旦它们准备将 www 和 example.com 指向您的 IP,您就需要(重新)配置虚拟主机以使用 ServerName 和 ServerAlias 指令响应 sub.example.com、www.example.com 和 example.com。
如果您没有使用带有 NBVH 的 Apache,那么任何流程都是等效的。