如何为Amazon S3存储桶配置SSL

问题描述 投票:129回答:6

我正在使用Amazon S3存储桶使用我的.NET应用程序上传和下载数据。现在我的问题是:我想使用SSL访问我的S3存储桶。是否可以为Amazon s3存储桶实施SSL?

ssl amazon-s3 amazon-web-services bucket
6个回答
142
投票

您可以通过SSL访问您的文件,如下所示:

https://s3.amazonaws.com/bucket_name/images/logo.gif

如果您为存储桶使用自定义域,则可以将S3和CloudFront与您自己的SSL证书一起使用(或通过Amazon Certificate Manager生成免费证书):http://aws.amazon.com/cloudfront/custom-ssl-domains/


27
投票

现在只需600美元/证书/月即可添加自定义域SSL证书。在下面注册您的邀请:http://aws.amazon.com/cloudfront/custom-ssl-domains/

更新:SNI客户提供证书are now available无需额外费用。比美元600美元便宜得多,而XP几乎被淘汰,它应该适用于大多数用例。

@skalee AWS有一个机制来实现海报要求的“为亚马逊s3桶实施SSL”,它被称为CloudFront。我正在阅读“实施”作为“使用我的SSL证书”,而不是“只是在HTTP URL上放置一个我确信OP可以推测的。

由于CloudFront的成本与S3完全相同(0.12美元/ GB),但是围绕SSL提供了大量附加功能,并且允许您无需额外成本添加自己的SNI证书,这是在您的域上“实施SSL”的明显修复。


10
投票

我发现您可以通过Cloud Flare服务轻松完成此操作。

设置一个存储桶,在存储桶上启用虚拟主机并通过Cloudflare将所需的CNAME指向该端点......当然要支付服务费用......但是$ 5 $ 20 VS $ 600更容易忍受。

详情如下:https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/


4
投票

如果您真的需要它,请考虑重定向。

例如,根据对assets.my-domain.example.com/path/to/file的请求,您可以执行301或302重定向到my-bucket-name.s3.amazonaws.com/path/to/files3.amazonaws.com/my-bucket-name/path/to/file(请记住,在第一种情况下,my-bucket-name不能包含任何点,否则它将不匹配S3证书中所述的*.s3.amazonaws.com, s3.amazonaws.com)。

没有经过测试,但我相信它会起作用。然而,我看到了很少的陷阱。

第一个很明显,另外一个获得此重定向的请求。我怀疑你可以使用你的域名注册商提供的重定向服务器 - 你必须以某种方式上传正确的证书 - 所以你必须使用你自己的服务器。

第二个是您可以在页面源代码中使用您的域名网址,但是当用户在单独的选项卡中打开图片时,地址栏将显示目标网址。


3
投票

不可能直接使用S3,但您可以从您的存储桶创建Cloud Front分发。然后转到证书管理器并申请证书。亚马逊免费提供给他们。您已成功确认认证,将其分配给您的Cloud Front分发。另请记住将规则设置为将http重定向到https。

我在Amazon S3上托管几个静态网站,就像我的个人网站,我已经分配了SSL证书,因为他们有Cloud Front发行版。


0
投票

如前所述,您无法为S3存储桶创建免费证书。但是,您可以创建Cloud Front分发,然后为Cloud Front分配证书。您为域申请证书,然后将其分配到Cloud Front设置中的Cloud Front分配。我已经使用这种方法通过SSL服务静态网站以及提供静态文件。

对于静态网站创建,亚马逊就是最佳选择。获得一个带有SSL的静态网站真的很实惠。

© www.soinside.com 2019 - 2024. All rights reserved.