注意:sitenamehere 不是站点名称。因个人原因编辑。
我有一个位于http://www.[sitenamehere].site.s3-website-us-west-1.amazonaws.com/的静态站点——它运行良好,可公开访问。
我想通过 sitenamehere.site 和 www.sitenamehere.site 提供它(第一个重定向到第二个)。我的理解是,我需要做 3 件事才能让它发挥作用:
- 通过 AWS 证书管理器获得的证书(通过 DNS 记录验证)
- 指向 S3 存储桶的 Cloudfront 分配
- 具有可公开访问的 html 的 S3 存储桶
- 更新了 Namecheap 上的 DNS 记录
在我看来,我拥有所有 3 个。但是当我访问该站点时,我得到了www.sitenamehere.site’s server IP address could not be found.
在 namecheap 的 DNS 面板中,我有一个 CNAME 记录:
类型:CNAME
主持人:-(_5ee8b630d994d9efexxxxxxxxxxxx
原始值是,_5ee8b630d994d9efexxxxxxxxxxxx.sitenamehere.site
但 Namecheap 支持告诉我只使用第一部分)
价值:_4998f8b754e7f59ce4d6xxxxxxxxxxxx.mzlfeqexyx.acm-validations.aws.
ACM 表示证书已通过验证(验证状态:成功)
下一个:云端。我有一个发行版,它的原始域名是www.sitenamehere.site.s3.amazonaws.com
. 编辑原点(编辑原点屏幕)时,该值在下拉列表中可用。Origin ID: S3-www.sitenamehere.site
Restrict Bucket Access is No. 这对我来说似乎都是正确的。
下一个:S3。我在这里有几个桶,但我的目标是www.sitenamehere.site
. 这就是我让 Cloudfront dist 指出的那个。它是完全公开的并且有
"Principal": "*",
"Action": "s3:GetObject",
在其存储桶策略中。
这一切看起来应该可以工作,但事实并非如此。少了什么东西?