我需要将客户的网站从旧主机移到新主机,但不更改他们的电子邮件服务器。我读过这个关于类似问题的非常详尽的答案(https://serverfault.com/a/370295/112673) 并且我想我已经知道该怎么做了,但我想确认我理解得正确。
=================
编辑 - 我后来意识到我原来的策略很愚蠢。现在已修改。
=================
这些是当前主机的区域文件上的设置:
localhost.website.com Address Record (A) 127.0.0.1
website.com Address Record (A) 1.2.3.4 (current web server IP)
website.com Mail Exchange Record (MX) preference=10, host=website.com.
ftp.website.com Canonical Name (CNAME) website.com.
imap.website.com Canonical Name (CNAME) website.com.
news.website.com Canonical Name (CNAME) website.com.
pop.website.com Canonical Name (CNAME) website.com.
smtp.website.com Canonical Name (CNAME) website.com.
www.website.com Canonical Name (CNAME) website.com.
我打算将这些设置更改为
localhost.website.com Address Record (A) 127.0.0.1
website.com Address Record (A) 5.6.7.8 (new server IP)
website.com Mail Exchange Record (MX) mail.website.com.
www.website.com Canonical Name (CNAME) website.com.
ftp.website.com Canonical Name (CNAME) website.com.
news.website.com Canonical Name (CNAME) website.com.
mail.website.com Address Record (A) 1.2.4.5 (old server IP)
imap.website.com Canonical Name (CNAME) mail.website.com.
pop.website.com Canonical Name (CNAME) mail.website.com.
smtp.website.com Canonical Name (CNAME) mail.website.com.
如果我理解正确的话,这会将实际网站 website.com 指向新的服务器 IP,但所有与电子邮件相关的内容都会指向 mail.website.com,而该网站仍然指向旧的服务器 IP。
此外,在正式上线之前,我有什么方法可以测试此设置吗?我之前提到的答案提到,你可以使用本地的 hosts 文件自行执行此操作,但我不确定具体如何进行设置。
答案1
我需要将客户的网站从他们的旧主机移到新主机上,但不更改他们的电子邮件服务器。
你很幸运,因为这两件事毫不相关,询问如何在不影响电子邮件的情况下移动网站就像问“我要搬到街上新房子。我如何确保不必更换汽车的牌照?”
如果我理解正确,这将使实际网站指向
website.com
新的服务器 IP,但所有与电子邮件相关的内容都将指向 mail.website.com,而该域名仍指向旧服务器 IP。当我将 website.com 名称服务器更改为指向新主机时,website.com 应该在新主机上显示网站,但电子邮件应该保持不变。
那么除了更改区域文件之外,您还更改了名称服务器?不管怎样(这会增加一层复杂性,但并非无法管理),正如您所说的,区域文件将满足您的要求。
此外,在正式上线之前,我有什么方法可以测试此设置吗?我之前提到的答案提到,你可以使用本地的 hosts 文件自行执行此操作,但我不确定具体如何进行设置。
Hosts 文件只能进行 IP -> 主机名映射,因此您无法从技术上测试 CNAME。您需要做的是设置一个小型临时 DNS 服务器,并将一两台主机指向该 DNS 服务器以测试区域文件的相同副本。也许是一个简单的 dnsmasq 服务器。