【问题标题】:How can I set the root domain as CNAME record with cloudfront?如何使用 cloudfront 将根域设置为 CNAME 记录?
【发布时间】:2019-06-17 17:03:06
【问题描述】:

我想将我的根域 (abc.example) 指向云端 CNAME 记录 (xxx.cloudfront.net)。但是,GoDaddy 不允许使用 @ 作为主机的 CNAME。

我希望https://abc.example 能够指向xxx.cloudfront.net

如何进行更改?

【问题讨论】:

  • “GoDaddy 不允许使用 @ 作为主机的 CNAME。” 无处允许,因为根据 DNS 的设计,CNAME 记录不能与其他记录共存,并且在顶点(区域的根),您已经拥有 NS 和 SOA 记录
  • Godaddy 提供 URL 重定向,您 csan 配置将 example.com 重定向到 www.example.com 因为您可以为 www.example.com 创建 CNAME,唯一的问题是如果有人访问 example.com,因为godaddy 不使用 cert 进行 url 重定向。

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


【解决方案1】:

您可以将自己的自定义域名重定向到 Amazon CloudFront,但您需要使用 Amazon Route 53 而不是第三方 DNS 服务。

来自Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name - Amazon Route 53

如果您想使用自己的域名,请使用 Amazon Route 53 创建指向您的 CloudFront 分配的 alias record。别名记录是 DNS 的 Route 53 扩展。它类似于 CNAME 记录,但您可以为根域(例如 example.com)和子域(例如 www.example.com)创建别名记录。 (您只能为子域创建 CNAME 记录。)当 Route 53 收到与别名记录的名称和类型匹配的 DNS 查询时,Route 53 会使用与您的分配关联的域名进行响应。

步骤如下:

  • 在 Amazon Route 53 中使用 A 记录
  • 设置Alias = Yes
  • 别名目标设置为 CloudFront 分配

请注意,如果您希望使用 HTTPS (SSL) 进行分发,则需要执行其他步骤。使用 SNI 是免费的,但专用 IP 地址很昂贵。见:Custom SSL | Content Delivery Network (CDN), Domain Registration | Amazon CloudFront

【讨论】:

    【解决方案2】:

    很遗憾,这是不可能的。这是 DNS 限制,因为 CNAME 不允许您在区域中多次拥有相同的记录,无论记录类型如何。因此,SOA 和 NS 记录会与它发生冲突,如果存在 MX 记录也会与之冲突。

    【讨论】:

    • -您可以使用重写过滤器来接受您的请求并用您想要的替换主机部分。 .htaccess 在 windows 和 linux 主机上都可用。我不会走这条路,因为您的服务器会受到打击而不是 CDN,因此会破坏目的。最好的选择是将区域移动到 route53 并为 A @ 记录别名。
    • 您能否详细说明它的工作原理?重写过滤器在哪里?
    猜你喜欢
    • 2020-08-06
    • 1970-01-01
    • 2017-09-14
    • 2018-06-11
    • 1970-01-01
    • 2011-09-21
    • 2018-06-02
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多