首页 > 解决方案 > 无法将 Route53 配置为指向托管在 S3 上的静态网站的 CloudFront 分发

问题描述

我正在尝试将我的静态网站部署到 S3 并在其前面配置 CloudFront。但我无法将 Route53 配置为与 CloudFront 集成。以下是我到目前为止所做的。

我创建了一个启用静态托管并允许公共访问的 S3 存储桶。然后我部署/上传了文件。我可以通过 S3 网站静态 URL http://www.waiyanhein.com.s3-website-eu-west-1.amazonaws.com/访问我的网站。

我有自己的域名,waiyanhein.com。

我正在尝试在我的静态网站前配置 CloudFront。所以我创建了一个 CloudFront 分配。对于 Origin Domain Name,我选择了 S3 Bucket 的静态网站 URL。然后我选择“自动压缩对象”作为“是”。在“备用域名 (CNAME)”文本字段中,我输入了“waiyanhein.com”。然后我创建了 CloudFront 分配。现在我的 CloudFront 分配已启动并运行。

然后我尝试配置指向 CloudFront 分布的 Route53。我尝试创建一条记录,选择“别名到 CloudFront 分配”选项。但是我在资源中找不到我的 CloudFront 分配,如下面的屏幕截图所示。

在此处输入图像描述

我的配置有什么问题?

我也在 CloudFront 发行版中发现了一些东西。当我编辑 CloudFront 分配时,由于某些原因,备用域字段为空。然后我输入域并单击保存。然后我收到以下错误。

com.amazonaws.services.cloudfront.model.InvalidViewerCertificateException: To add an alternate domain name (CNAME) to a CloudFront distribution, you must attach a trusted certificate that validates your authorization to use the domain name. For more details, see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidViewerCertificate; Request ID: 2d1bacd5-794c-46e5-beec-70b24fab83a6; Proxy: null)

在此处输入图像描述

标签: amazon-web-servicesamazon-cloudfrontamazon-route53

解决方案


如果它没有自动出现在下拉列表中,则 AWS 将对其进行过滤,因为它认为您打算使用的确切域不适用于账户中的任何 CloudFront 分配。

请检查以下是否正确:

  • 确切的记录由附加到 CloudFront 分配的备用名称涵盖。
  • CloudFront 发行版已完成推出。

在 Alias 值的界面中,您应该能够粘贴带有尾随的 CloudFront 域名,.尽管在这个新界面中某些操作当前似乎不起作用。Switch to old console如果是这种情况,您可以通过单击屏幕左侧的链接并从此处尝试恢复到原始界面。

附加评论

屏幕截图表明指定的备用域没有匹配的 ACM 证书,us-east-1该证书附加到您的 CloudFront 分配。

如果您没有生成一个新的,则在添加备用域名时将其附加到您的 CloudFront 分配。


推荐阅读