当前位置: 首页 > 知识库问答 >
问题:

AWS无法为cloudfront CNAME指定没有子域的53号公路记录

百里沛
2023-03-14

我决定在AWS上托管我自己的投资组合,所以我做了以下步骤。

  • 在s3上托管(一切正常)
  • 在route53中购买域
  • 创建了一个类型记录,将我的域指向s3(一切正常)
  • 在ACM中为域*.mywebsite生成了公共证书。com,我的网站。网站
  • 创建了CloudFront发行版,并具有以下设置
    • 原始域名:链接到s3(一切正常)
    • CNAMES:www.mywebsite。com,*.mywebsite。com,我的网站。网站
    • WIEVER协议策略:将HTTP重定向到HTTPS
    • 使用步骤4中生成的自定义证书

    当我在网站上使用子域时,我对事情的工作方式非常满意,比如:

    • www.mywebsite.com
    • foobarbaz.mywebsite.com
    • http://www.mywebsite.com

    所有这些工作都很好,通过https协议将其重定向到我的网站,但问题是当我试图通过http协议访问我的网站而没有像< code>mywebsite.com这样的子域时,对于https,我以< code > ERR _ CONNECTION _ TIMED _ OUT 结束,所以我尝试为name mywebsite.com添加另一个CNAME记录,并得到以下错误:

    出现错误错误请求。(InvalidChangeBatch 400:在区域mywebsite.com的顶点不允许DNS名称为mywebsite.com.的CNAME类型的RRSet。)

    有没有解决这个问题的办法?

    我不太喜欢网络和配置这些类型的东西,所以如果我做错了什么,我将不胜感激。

    @编辑:尝试将名称为mywebsite.com的类型记录添加到www.mywebsite.com并收到:

    (InvalidChangeBatch 400:尝试创建资源记录集 [name='mywebsite.com.',type='A'],但它已经存在),已经有一个链接到 S3

共有2个答案

乜明朗
2023-03-14

AWS的文档描述了这种情况。i-

您不能在DNS名称空间的顶层节点(也称为区域顶点,如example.com)创建CNAME记录。如果您正在为apex域创建指向AWS资源的记录,您可以使用别名记录而不是CNAME。

别名记录

因此,您可以使用类型为 A 而不是 CNAME 的别名记录来绕过您看到的错误。

曹高轩
2023-03-14

您在步骤3)中遇到问题。顶点域指向S3存储桶,该存储桶应指向Cloud前分布。

它应该是这样的:

Route53:ACM证书CNAME,A记录=

请注意,只有A记录(如果您想要IPv6,还有AAAA)指向CloudFront,并且只有一个CNAME记录被ACM用来验证域。

 类似资料:
  • 我在AWS Route 53有一个公共托管区域。为了简单起见,让我们将域称为“foo.com”。我从科摩多买了一张证书。 我有一个子域“bar.foo.com”的CNAME类型记录。为了更新“bar.foo.com”子域的“让我们加密”证书,我需要添加一个CAA记录。 如果我尝试为子域添加 CAA 记录,我会收到以下错误消息。 错误消息: 具有 DNS 名称 bar.foo.com 的 CAA 类

  • 我想导出一些出现在中的公共域名,并使用我在谷歌中的私有网络中的域名。 我看到一个选项是将aws中的记录列为yaml: 然后在谷歌云dns中将其导出为私有区域 只是想知道这是否可行,如果其他人尝试过,这是否有任何复杂性。 PS:还没有删除/更新aws route53,这只是一个学习的样本。 编辑:使用aws命令的记录列表导出,因为yaml格式不起作用,所以我安装了cli53(用于管理route 53

  • 我最近将我的DNS托管移动到AWS Route 53,并在传输域之前创建了托管区域。站点的顶级域是和我有,,

  • 问题内容: 我已经在VPS(ubuntu 10.04)上部署了我的nodejs应用程序。我已经将其托管在一个子域(subdomain.myapp.com:3000)上,并且我只有一个IP地址 默认情况下,Apache默认使用端口80。我只希望我的应用程序可以在端口3000上运行,但URL应该是(subdomain.myapp.com) 是否可以在nodejs中实现,还是必须调整虚拟主机或apach

  • 我希望有、和,其中每一个都映射到Elastic Beanstatk上相同应用程序的单独环境。 这有可能吗? 在我的托管区域上,例如。com ,我已经为www.example设置了cname记录。com,登台。实例com和演示。实例com,每个都有一个指向各自的EB url的值。 第一个是我设置的www.example。com工作,请求到达环境。但是当我试图通过ping staging联系其他人时。

  • 有一种方法来检索域(和子域)的DNS记录的所有(TXT)条目? 我的目标是验证我的域的配置:www.rosposhop。com中,我为某些子域正确设置了多个SPF和DKIM记录 (因此我总共有5个TXT项目) 现在,如果我用或提问,我只得到了第一个TXT项目,而我应该得到TXT项目的完整列表。 为什么我错了? 顺便说一句,如果我要求惩罚性的子域名,现在我又得到了第一个条目: 返回: 再一次,我没有