【问题标题】:DNS CNAME & MX wildcardDNS CNAME 和 MX 通配符
【发布时间】:2016-01-07 17:54:38
【问题描述】:

我正在使用 AWS 上的所有基础设施,我需要:

mydomain.com A ALIAS {S3-bucket- > } s3-website-eu-west-1.amazonaws.com.
www.mydomain.com CNAME mydomain.com
  -> website on Amazon S3


*.mydomain.com CNAME {beanstalk} -> myserver-app.elasticbeanstalk.com
    -> all other subdomains redirect to the Amazon Beanstalk app


*.mydomain.com MX ->
         10 XXYY.in1.mandrillapp.com.
         20 XXYY.in2.mandrillapp.com.
         -> all emails goes to mandrillapp.

这怎么可能?

由于 CNAME 与 MX 通配符,它​​无法正常工作。

我不能使用所有名称,因为子域将动态生成。

非常感谢!!

大卫

【问题讨论】:

  • 当您说“它不起作用”时,究竟是什么不起作用?您看到的确切问题是什么?

标签: amazon-web-services dns amazon-route53


【解决方案1】:

正如您所发现的,您不能在 DNS 层次结构的同一级别拥有 CNAME 和任何其他类型的记录。 Route 53 Alias records,您用于裸域和 www 的创建是为了解决 DNS 设计中的这一限制,并且没有相同的不兼容问题......但是 @987654326 的目标@ 记录目前只能是以下四种情况之一:CloudFront 分配、弹性负载均衡器、与 A 记录中的主机名同名的 S3 存储桶,或同一托管区域中的另一条相同类型的记录.

最后两个对你没有帮助,但前两个都可以。

如果您的 beanstalk 应用程序已经有一个 ELB,您可以在 EC2 控制台的负载均衡器下找到该名称,您应该可以将其用作您的 * 通配符 A 记录别名的别名目标领域。或者,您可以为此目的在您的 beanstalk 应用程序中添加一个负载均衡器。

或者,您可以创建 CloudFront 分配,并将 myapp.elasticbeanstalk.com 配置为分配的“自定义源”服务器。在 *.example.com 的分配中配置 CloudFront 称为 "alternate domain name (CNAME)" 的内容——顺便提一下,忽略 CloudFront 控制台将其称为“CNAME”的事实。它们也可以用作别名目标。将分发配置为forward the incoming Host: header 到源,以及您要转发的任何其他标头。然后,您应该能够创建通配符 Alias A 记录,指向 CloudFront 分配,它将请求转发到 beanstalk 应用程序。

【讨论】:

    【解决方案2】:

    您遇到的问题是 rules of DNS 的问题,它禁止存在另一条记录的 CNAME 记录。

    如果节点上存在 CNAME RR,则不应包含其他数据 展示;这确保了规范名称及其别名的数据 不能不同。此规则还确保缓存的 CNAME 可以 使用时无需与权威服务器检查其他 RR 类型。

    您是否有特殊原因需要通配符 MX 记录?我看不到它提供任何好处的任何情况,但在许多情况下这将是一个非常糟糕的主意! (特别是它使网络上的任何主机成为发送垃圾邮件的可行目标,因为任何可以解析到域的主机都有权发送。

    如果你明确命名你的 MX 记录,你可以有一个 CNAME 通配符(实际上我可能需要检查它!但我确实相信)

    【讨论】:

    • 是的,我需要它 - 这是一个应用程序,客户可以将自己的电子邮件作为 [user]@[companyname].mydomain.com
    猜你喜欢
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    相关资源
    最近更新 更多