我有一个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 :(得分:2)
使用“静态网站托管”选项从S3托管网站时,只能使用HTTP。不支持HTTPS。这是使用my-bucket.s3-website-*
网址完成的。
my-bucket.s3.amazonaws.com
端点不是提供网站的端点。它只是S3 API的端点。这就是它支持HTTPS的原因。因此,在进行身份验证时,您可以对此端点进行GET,POST等操作(如果配置了公共ACL,则可以是匿名的)。
但它不是网站端点,不会自动提供index.html
或404页面。
要充当网站并使用SSL,您必须使用前端服务,例如CloudFront。