【问题标题】:How to set bare domain CName record to point to S3 bucket without effecting MX record如何将裸域 CName 记录设置为指向 S3 存储桶而不影响 MX 记录
【发布时间】:2017-01-30 06:41:54
【问题描述】:

我有一个托管在 S3 存储桶中的静态站点和一个在 Namecheap 注册的域(例如 mydomain.com) 我希望人们使用裸域访问我的网站(即没有子域) 我像这样添加了一个 DNS 记录..

Type = CName
Host = @
Value = [URL to S3 bucket]

这可行,但现在无法通过电子邮件发送到该域上的邮箱(例如 hello@mydomain.com)。我读到这是因为如果使用 CNAME 为主机指定裸规范名称,则不允许您拥有该主机的任何其他资源记录(例如 MX)。

我该如何解决这个问题?我不想求助于添加像 www 这样的子域。

【问题讨论】:

  • 仅当域托管在 Aws 时才有效,因为您可以设置 A 记录以指向 S3 存储桶。我无法从外部域主机设置 A 记录,因为我不知道它指向的 S3 存储桶的 IP 地址
  • 对,您需要为此使用 Route 53,您也可以将它与未通过 AWS 注册的现有域一起使用。还是有什么原因你不能使用它?

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


【解决方案1】:

在这样的区域的顶点有一个 CNAME 不是一个有效的配置。 DNS 提供商甚至不应该允许您创建它。是的,如果您尝试一下,它会破坏您的 MX。

这就是 Route 53 引入 A-record 别名的原因。请参阅 cmets 中提到的 the link 以获得解释。别名记录的行为似乎与人们通常认为的 CNAME 一样,但它们不是 CNAME,并且在顶点处也不是无效的。

要正确执行此操作,您需要使用 Route 53 作为您的权威 DNS 托管提供商。

一种解决方法是创建一个以 www. 开头的存储桶,而不是您现在拥有的存储桶,创建一个指向它的 www CNAME,然后将您的 @ 记录设置为服务提供的值,例如http://wwwizer.com,重定向 example.com → www.example.com。

我不隶属于该服务,但我看到它用于此目的。

【讨论】:

    猜你喜欢
    • 2011-09-21
    • 1970-01-01
    • 2020-12-15
    • 2013-05-27
    • 1970-01-01
    • 2013-04-17
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多