如何为Amazon S3存储桶配置SSL

Sya*_*mar 137 ssl amazon-s3 bucket amazon-web-services

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

提前致谢.

rea*_*ers 145

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

https://s3.amazonaws.com/bucket_name/images/logo.gif
Run Code Online (Sandbox Code Playgroud)

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

  • 这不完全正确.您可以使用不带点的存储桶名称:https://this-is-my-awesome-bucket.s3.amazonaws.com亚马逊有一个通配符证书.由于您无法使用点,因此您不能将CNAME域指向您的存储桶. (39认同)
  • 注意包含句号的桶名!SSL无法在iOS设备上运行,但在Chrome中运行良好.请参见http://stackoverflow.com/questions/3048236/amazon-s3-https-ssl-is-it-possible (4认同)
  • 要使用点符号存储桶名称(因此可以使用Route 53别名)并且要在通过REST中使用PUT对象,请确保主机名与区域匹配.例如,我的存储桶位于"us-west-2"中,因此主机名实际上是`s3-us-west-2.amazonaws.com`,否则会出错. (3认同)

Jos*_*ust 28

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

更新:SNI客户提供的证书现在可以免费使用.比美元600美元便宜得多,而XP几乎被淘汰,它应该适用于大多数用例.

@skalee AWS有一种机制可以实现海报要求的"为亚马逊s3存储桶实施SSL",这就是所谓的CloudFront.我正在阅读"实施"作为"使用我的SSL证书",而不是"只是在HTTP URL上放置一个我确信OP可以推测的.

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

  • CloudFront不是S3. (63认同)
  • @skalee正确,但如果您想通过具有自定义SSL证书的域访问它,如OP请求,您可以通过这种方式设置自定义CNAME SSL证书并通过CF访问它. (6认同)
  • 目前,我已经设置了两个CNAME:static-s3和static-cf,第一个指向我的S3,第二个指向CF. 首先不能支持SSL,第二个可以,但它是CF而不是S3,因为skalee指出.这是我认为我们现在可以做的最好的. (2认同)
  • 哇,我猜他们必须以某种方式弥补越来越便宜的存储成本.至少它按比例分配.如果你一个月只使用你的SSL证书1小时它只需20美元;-) (2认同)
  • @Elegant.Scripting 如果你有一个专用的 SSL 证书(不是 SNI 证书),那么那台机器需要一个会产生成本的专用 IP。对于 S3 托管您的数据的全球每个位置,您大概都需要一个专用 IP。所以加起来。但我认为这主要是因为人们不需要它,他们可以为那些需要它的人抬高价格。如果您不需要支持 IE6,那么您应该可以使用 CloudFront 下的 SNI 证书。 (2认同)

Ral*_*gts 11

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

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

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