2014-03-12 49 views
1

我们正在从Engine Yard迁移到Heorku。斗争与Heroku使用CNAME记录有关。通配符CNAME和通配符MX记录

我想设置上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的应用。他们也可以通过电子邮件发送[email protected],这将转到正常的Gmail收件箱。但是,当他们发送电子邮件至[email protected]时,电子邮件由MailGun处理。例如,Craiglist使用此方法来回复帖子。

上面的DNS设置无效Route53。这是因为CNAME记录名称在所有记录类型中必须是唯一的。 A记录不是问题,这是它之前设置的方式。

需要注意的是一个简单的301重定向就不会在这里做。我们希望demo.example.com始终指向demo.example.com。 heroku应用程序使用每个子域来确定要加载的帐户(或者如果您想到Craiglist示例,这是一个单独的地理区域,我们不希望只重定向到一个区域,并且有很多区域是我们动态创建的)。

解决此问题的建议方法是什么?

+0

经过一番挖掘,我发现Route53支持别名记录,但不在他们自己的网络之外。 http://stackoverflow.com/questions/21295614/heroku-ssl-with-route53。仍然想知道是否有解决方案,这不涉及切换。 –

+1

即使您找到允许您拥有此配置的提供商,您也需要知道它与DNS应该工作的方式基本不一致。根据定义,CNAME意味着不应该有特定主机的其他记录。对于试图通过电子邮件发送给您的人而言,正确的MX记录是CNAME的* target *的MX记录(也就是CNAME记录所指向的主机的MX)......这不是什么你要。但实际上,实现方式各不相同,因此发件人的电子邮件传送能力可能会有所不同 –

回答

0

交谈Heroku的支持,Mailgun支持和你们中许多人后。很明显,Route53无法做到这一点。

要做到这一点,你需要可以使用ALIAS记录或ANAME记录。 Route53仅支持将别名用于您自己的AWS账户中的端点。因此,迄今为止他们的服务仍然无法实现。

我们切换到DNSMadeEasy这是建议的Heroku,并有很好的表现。我觉得界面非常不直观,但你只需要做一次。我需要做的只是创建一个指向heroku的通配符ANAME,其他一切正常。

我建议您结帐DNSimple,他们的界面很棒,我喜欢他们的服务。它们并不像DNSMadeSimple那样成熟,但它们肯定更易于使用。我希望有一天能够使用他们的服务。

2

我发现,Route53支持别名记录,但不应超出自己的网络的

的解决办法是在这里:

https://devcenter.heroku.com/articles/route-53#naked-root-domain

基本上是:

  1. 创建S3存储桶称为:yourdomain.com和m AKE重定向到www.yourdomain.com
  2. 在路线53,创建一个A记录别名指向您的桶的yourdomain.com
  3. Naked/root域最后,创建www.yourdomain.com CNAME记录指向yourapp.herokuapp.com

那应该这样做。

+0

但是,这给了我一个301重定向到'www'这不是我想要做的。我想留在'demo.example.com'并在DNS级别进行重定向。也许我没有在问题中强调这一点,我会更新它。 –

+1

然后你可以用Route 53做任何事情。使用Heroku推荐的另一种服务。 – Rico

+0

谢谢Rico,那也是我的结论。我会明天尝试其他服务之一,并回答一个答案。 Heroku支持建议使用'DNSMadeEasy',所以会尝试。 –