如何为Amazon S3存储桶配置SSL

时间:2012-06-26 05:39:22

标签: ssl amazon-s3 amazon-web-services bucket

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

6 个答案:

答案 0 :(得分:138)

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

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

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

答案 1 :(得分:27)

立即添加自定义域SSL证书,每月600美元/证书。在下面注册您的邀请: 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”的明显修复你的域名。

答案 2 :(得分:10)

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

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

详细信息: https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/

答案 3 :(得分: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不匹配。

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

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

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

答案 4 :(得分:3)

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

我在亚马逊S3上托管了几个静态网站,就像我的个人网站一样,我已经分配了SSL证书,因为他们拥有云端分发。

答案 5 :(得分:0)

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

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