我对此很陌生,所以请多多包涵。我有一个 NameCheap 帐户用于 DNS,一个 Amazon AWS Elastic Beanstalk 帐户用于托管,还有一个 Google GSuite 帐户用于电子邮件。
我想设置我的 DNS,以便来自mydomain.com
和的流量www.mydomain.com
都流向我的 AWS 站点。起初,只有 www 流量通过。然后我在下面添加了“@”记录,它开始工作,但我认为它可能破坏了我的电子邮件,因为现在我收不到任何东西。它以前可以正常工作,我没有修改任何 MX 记录。
Type Host Value
CNAME Record @ mydomain-prod.us-east-2.elasticbeanstalk.com.
CNAME Record www mydomain-prod.us-east-2.elasticbeanstalk.com.
我如何配置我的 DNS 以便来自两者的流量mydomain.com
都www.mydomain.com
转到我的 AWS 站点并且我的电子邮件仍然有效?
编辑- 我不认为这个问题是重复的。我问的是,如何让我的电子邮件与将裸域名转发到 www 一起使用。链接的问题没有提到电子邮件,也没有回答我的问题。
答案1
您不能在顶级域名上拥有 cname 记录。这违反了RFC1912
2.4 CNAME 记录
CNAME 记录不允许与任何其他数据共存。换句话说,如果 suzy.podunk.xx 是 sue.podunk.xx 的别名,您就不能同时拥有 suzy.podunk.edu 的 MX 记录、A 记录,甚至 TXT 记录。尤其不要尝试像这样组合 CNAME 和 NS 记录!
从顶层或 @ 记录中删除 Cname,并添加指向 AWS 域的 IP 地址的 a 记录。
编辑:基本上,您的 MX 记录被忽略,而顶级域名中有 CNAME。大多数 DNS 服务甚至不允许在顶级使用 CNAME,因为它会破坏同一级别的所有其他记录类型。
您的解决方法是将 elastic beanstalk 应用设置为具有公共 ip 地址,然后在删除 cname 后将其作为 A 记录分配给您的 DNS。这将恢复您的电子邮件,因为 MX 记录将不再被忽略。