【发布时间】:2020-09-24 13:19:56
【问题描述】:
我正在尝试使用 S3 进行静态托管。 我认为存储桶应该是公开的才能在上面托管,有没有办法让它私有? 我也想通了域名应该和它的bucket名字一样,还有其他办法吗? 还可以看到它只有 HTTP 流量。我怎样才能使它成为 https 我将如何向它添加 SSL 证书?
我知道这是一连串的问题,但它一直在我脑海中盘旋。 提前谢谢你
【问题讨论】:
标签: amazon-web-services amazon-s3 https
我正在尝试使用 S3 进行静态托管。 我认为存储桶应该是公开的才能在上面托管,有没有办法让它私有? 我也想通了域名应该和它的bucket名字一样,还有其他办法吗? 还可以看到它只有 HTTP 流量。我怎样才能使它成为 https 我将如何向它添加 SSL 证书?
我知道这是一连串的问题,但它一直在我脑海中盘旋。 提前谢谢你
【问题讨论】:
标签: amazon-web-services amazon-s3 https
这取决于您所说的私有是什么意思,但是我假设您只是想限制对静态页面本身的访问。我建议在 S3 存储桶前添加一个CloudFront distribution,使用带有配置规则的WAF 来限制到主机的流量。此外,使用origin access identity 对其进行配置,以确保仅从您的 CloudFront 分配接收到 S3 存储桶的所有流量。
基于 S3 域的路由它依赖于与 S3 存储桶相同的 Host 标头,如果您确实创建了 CloudFront 分配,则可以使用 S3 源。这将不支持任何 S3 网站功能,但会呈现 HTML、JS 和图像等资产。您可以使用 Lambda@Edge function 复制 S3 网站配置中的一些功能。
CloudFront 通过 ACM 支持 SSL,但它必须位于 us-east-1。
【讨论】: