注意:sitenamehere不是site的名称。出于个人原因对其进行了编辑。
我有一个静态站点坐在 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记录:
类型:别名记录
主机:_5ee8b630d994d9efexxxxxxxxxxxx
- (原始值是_5ee8b630d994d9efexxxxxxxxxxxx.sitenamehere.site
但Namecheap支持告诉我只使用第一部分(
值:_4998f8b754e7f59ce4d6xxxxxxxxxxxx.mzlfeqexyx.acm-validations.aws.
ACM 表示证书已验证(验证状态:成功(
接下来:Cloudfront。我有一个发行版,其源域名是www.sitenamehere.site.s3.amazonaws.com
.编辑"原点"("编辑原点"屏幕(时,该值在下拉列表中可用。源 ID:S3-www.sitenamehere.site
限制存储桶访问为否。这一切对我来说似乎是正确的。
接下来:S3。我这里有几个桶,但我的目标那个叫做www.sitenamehere.site
。这就是我让 Cloudfront dist 指向的那个。它是完全公开的,并且有
"Principal": "*",
"Action": "s3:GetObject",
在其存储桶策略中。
这一切看起来应该可以工作,但事实并非如此。 缺少什么?
你应该再做两件事。
-
添加备用域名
- 转到您的 CloudFront 分配设置,单击"编辑"
- 在备用域名下,输入您的网站地址
www.sitenamehere.site
-
在您的 namcheap 中,将 cname
www
指向您的云前端地址,例如a1cddfe@cloudfront.net