再会,
我目前有一个大型公司的现有域名。我们正在使用一项服务来管理我们的 DNS。
我们有一个现有域名,其中有许多子域名,以及一个遗留网站。
最近我们想更新我们的网站,我们在 AWS 上进行了开发,并使它变得非常好。
我们现在需要更新 DNS 配置。
现有的配置看起来像这样
- mydomain.com [原始 ip]
- MX mydomain.com [邮件的 mx 设置的原始链接]
- TXT mydomain.com [邮件的 mx 扩展名]
此设置指向 Office 365
现在我需要更新它,所以我的第一个想法是添加一个 CNAME 记录
CNAME mydomain.com [将其指向 aws 中的 ELB]
这有效并且我的网站现已上线。
但
邮件服务器现已损坏。
然后我尝试删除 CNAME 并添加
CNAME www.mydomain.com [将其指向 aws 中的 ELB]
这对于网站和邮件来说都是可行的,但对我们的用户来说是一种不好的体验
我想做的是不破坏原始设置,并且仍然
CNAME mydomain.com 重定向到我的新网站
并且不会让我们的邮件服务器崩溃。
有办法吗?对于我们的用户来说,输入 wwww.mydomain.com 真的很痛苦,而且大多数人不会这样做,我们正在失去用户。
我怎样才能让我的 basedomain 具有 cname 记录,并且不覆盖其他记录?我知道简短的回答是可以,但我需要变通一下才能实现我需要的业务结果,有什么想法吗?
这是我的理想设置
- mydomain.com [保持原样]
- MX mydomain.com [保持原样]
- CNAME mydomain.com [指向新网站]
- TXT mydomain.com [保持原样]
- CNAME www.mydomain.com [指向新网站]
答案1
不可以,因为CNAME
不能与任何其他记录共存(RFC 2181, 10.1;RFC 1912, 2.4),包括您的 ,,,A
唯一的例外是 DNSSEC 相关记录(MX
TXT
RFC 4035, 2.5)。而且,更重要的是,它不能与 共存NS
,因此无法用于域本身。
仅添加www.example.com. CNAME
并安排 HTTP 重定向到指向的任何位置example.com. A
。
答案2
您不能将您的基本域与CNAME
其他记录放在一起..但您不一定需要这样做:
虽然只是一项商业服务 - 不属于任何官方标准,也不适用于大量 DNS 托管商(尽管可在一些巨大的用例)——存在一种专门针对该用例的机制。
DNS 托管商通常称为ALIAS
(例如 Route53)或ANAME
(例如 DNS made easy、name.com、easydns)之类的东西,并通过与标准记录类似的方式进行配置,它会在您的区域中创建/更新符合标准的 A/AAAA 记录,然后这些记录将与您配置的目标域相匹配。
ANAME 记录类似于 CNAME 记录,但是位于根级别。