【发布时间】:2014-04-17 10:41:03
【问题描述】:
我们正在从 Engine Yard 迁移到 Heorku。问题在于 Heroku 对 CNAME 记录的使用。
我想在 Route53 上设置以下记录(切换到另一个 DNS 提供商是最后的手段,我更愿意将东西保留在 AWS 上,因为我们在那里使用了很多其他服务)。
CNAME www.example.com corporate-site.wpengine.com
CNAME *.example.com example.herokuapp.com
MX *.example.com 1 mailgun.org
MX example.com 1 aspmx.l.google.com
这个想法是有人可以去demo.example.com 并获得heroku 应用程序的服务。他们还可以发送电子邮件至support@example.com,这将发送到普通的 gmail 收件箱。但是当他们向post@demo.example.com 发送电子邮件时,该电子邮件将由 MailGun 处理。例如,Craiglist 使用这种方式来回复帖子。
上述 DNS 设置对 Route53 无效。这是因为 CNAME 记录名称在所有记录类型中必须是唯一的。这不是问题,但是对于 A 记录,这是之前设置的方式。
请注意,简单的301 重定向不会在这里执行。我们希望demo.example.com 始终指向demo.example.com。 Heroku 应用程序使用每个子域来确定要加载的帐户(或者,如果您想到 Craiglist 示例,一个单独的地理区域,我们不想只重定向到一个区域并且我们动态创建许多区域)。
解决此问题的推荐方法是什么?
【问题讨论】:
-
经过一番挖掘,我发现 Route53 支持 Alias 记录,但不在他们自己的网络之外。 stackoverflow.com/questions/21295614/heroku-ssl-with-route53。仍然想知道是否有不涉及切换的解决方案。
-
即使您找到允许您拥有此配置的提供商,您也需要知道它与 DNS 应该工作的方式根本不一致。根据定义,CNAME 意味着特定主机不应该有其他记录。正确的 MX 记录,对于试图通过电子邮件发送给您的人来说,是 CNAME 的 target 的 MX 记录(即 CNAME 记录指向的主机的 MX)。 .这不是你想要的。但实际上,实现方式各不相同,因此电子邮件的送达率可能因发件人而异。
标签: heroku amazon-web-services dns amazon-route53