我有一个静态的S3网站。登录时,我可以看到端点为http://www.example.com.s3-website.eu-west-2.amazonaws.com
,但是我看到answers声称该站点应该可以通过HTTPS在https://www.example.com.s3-website.eu-west-2.amazonaws.com
进行访问。但这不起作用。
AWS是否曾经为静态站点支持HTTPS并已将其停止,还是我需要以某种方式启用它?
答案 0 :(得分:2)
您不能在存储桶名称中使用句点。如果您确实使用期限,则Amazon的通配符证书将不起作用。
引用BucketRestrictions文档:
当您将虚拟托管样式的存储桶与安全套接字层(SSL)一起使用时,SSL通配符证书仅与不包含句点的存储桶匹配。要解决此问题,请使用HTTP或编写您自己的证书验证逻辑。我们建议您在使用虚拟托管样式存储区时,不要在存储区名称中使用句点(“。”)。
答案 1 :(得分:1)
因此答案是否定的,不能像我正在尝试的那样直接对S3静态网站使用HTTPS。来自the docs:
请注意以下有关当源是Amazon S3时使用HTTPS的信息 桶:
* If your Amazon S3 bucket is configured as a website endpoint, you can't configure CloudFront to use HTTPS to communicate with your origin because Amazon S3 doesn't support HTTPS connections in that configuration.
答案 2 :(得分:1)
S3的website hosting部分现在在页面底部具有此注释:
Amazon S3网站终端节点不支持HTTPS。有关将HTTPS与Amazon S3存储桶一起使用的信息,请参阅How do I use CloudFront to serve HTTPS requests for my Amazon S3 bucket?和Requiring HTTPS for Communication Between CloudFront and Your Amazon S3 Origin。
现在看来,唯一的选择是使用CloudFront。当您只想要一个快速且肮脏的HTTPS网站,并且很乐意使用https://examplebucket.s3-website-us-west-2.amazonaws.com/
作为URL时,就很令人失望了,该URL可以与通配符SSL证书配合使用。