2016-07-27 44 views
3

我有一个S3存储桶,我想使用SSL。我也想默认提供index.html。为S3启用SSL,默认提供index.html

当通过http访问时,my-bucket.s3-website-us-west-2.amazonaws.com/提供了index.html。但是,AWS不维护此子域的SSL证书,因此无法通过SSL访问。 AWS确实维护了一个my-bucket.s3.amazonaws.com/的SSL证书,如预期那样可以解决问题。但是,该域默认不会提供index.html(即使将index.html设置为索引文档)。

有没有解决这个问题的方法,不需要CloudFront(目前已经设置)或灵活的SSL与CloudFlare?我试图在不牺牲安全性的情况下降低成本。

+0

请仔细阅读定价表。在美国和欧洲,使用CloudFront + S3与单独使用S3的成本基本相同。 –

回答

2

当使用“静态网站托管”选项从S3托管网站时,只能使用HTTP。 HTTPS不受支持。这是通过使用my-bucket.s3-website-* URL完成的。

my-bucket.s3.amazonaws.com端点不是提供网站的端点。它只是S3 API的一个端点。这就是为什么它支持HTTPS。因此,当您通过身份验证时,您可以对此端点执行GET,POST等操作(如果配置了公共ACL,则可以匿名)。

但它不是一个网站端点,并且不会自动服务index.html或404页面。

要充当网站并使用SSL,您必须使用前端服务(例如CloudFront)。