amazon-web-services - 如何使用 S3 和 Namecheap 托管 SSL 静态站点?
问题描述
注意: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",
在其存储桶策略中。
这一切看起来应该可以工作,但事实并非如此。少了什么东西?
解决方案
你应该再做两件事。
添加备用域名
- 转到您的 CloudFront 分配设置,单击“编辑”
- 在备用域名下,输入您的网站地址
www.sitenamehere.site
在您的 namcheap 中,将 cname
www
指向您的云端地址,例如a1cddfe@cloudfront.net
推荐阅读
- biztalk - BizTalk 2013R2 - 模糊转换失败错误
- php - 将购物车页面(运费计算器)中的邮政编码字段更改为下拉菜单
- listview - 在 bloc flutter 中单击列表视图时如何获取列表视图 ID?
- java - 为什么不能在 java 中直接创建函数数组?
- vb.net - 如何将动态创建的类型传递给函数?
- swift - 如何将java字节转换为swift int
- java - 如何将java应用程序表单oracle jdk迁移到openjdk?
- angular - 测试可观察
在 ngRx 中使用 Jest - java - 从 POST 方法调用 PUT 是个好主意吗
- sql - 在 Oracle SQL SELECT 语句中加入条件