【发布时间】:2012-06-27 09:58:39
【问题描述】:
我正在使用 Amazon S3 存储桶通过我的 .NET 应用程序上传和下载数据。现在我的问题是:我想使用 SSL 访问我的 S3 存储桶。是否可以为 Amazon s3 存储桶实施 SSL?
【问题讨论】:
标签: ssl amazon-s3 amazon-web-services bucket
我正在使用 Amazon S3 存储桶通过我的 .NET 应用程序上传和下载数据。现在我的问题是:我想使用 SSL 访问我的 S3 存储桶。是否可以为 Amazon s3 存储桶实施 SSL?
【问题讨论】:
标签: ssl amazon-s3 amazon-web-services bucket
您可以像这样通过 SSL 访问您的文件:
https://s3.amazonaws.com/bucket_name/images/logo.gif
如果您为存储桶使用自定义域,您可以将 S3 和 CloudFront 与您自己的 SSL 证书一起使用(或通过 Amazon Certificate Manager 生成免费证书):http://aws.amazon.com/cloudfront/custom-ssl-domains/
【讨论】:
us-west-2,所以主机名实际上是s3-us-west-2.amazonaws.com,否则会出错。
今天刚刚添加了自定义域 SSL 证书,价格为 600 美元/证书/月。在下面注册您的邀请: http://aws.amazon.com/cloudfront/custom-ssl-domains/
更新:SNI 客户免费提供证书are now available。比 600 美元/月便宜得多,而且 XP 几乎被淘汰,它应该适用于大多数用例。
@skalee AWS 有一种机制可以实现发帖人的要求,“为 Amazon s3 存储桶实现 SSL”,它被称为 CloudFront。我将“实现”读作“使用我的 SSL 证书”,而不是“只是在 HTTP URL 上放一个 S,我确信 OP 可以推测出来。
由于 CloudFront 的成本与 S3 完全相同(0.12 美元/GB),但在 SSL 方面有大量附加功能,并且允许您免费添加自己的 SNI 证书,因此它是“实施 SSL”的明显解决方案你的域名。
【讨论】:
我发现您可以通过 Cloud Flare 服务轻松做到这一点。
设置一个存储桶,在该存储桶上启用网络托管,并通过 Cloudflare 将所需的 CNAME 指向该端点……当然还要为服务付费……但 5-20 美元 VS 600 美元更容易接受。
这里有完整的细节: https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/
【讨论】:
如果您真的需要它,请考虑重定向。
例如,根据assets.my-domain.example.com/path/to/file 的请求,您可以执行 301 或 302 重定向到 my-bucket-name.s3.amazonaws.com/path/to/file 或 s3.amazonaws.com/my-bucket-name/path/to/file(请记住,在第一种情况下,my-bucket-name 不能包含任何点,否则将不匹配*.s3.amazonaws.com, s3.amazonaws.com 在 S3 证书中声明)。
未经测试,但我相信它会起作用。但是,我看到的问题很少。
第一个非常明显,是获取此重定向的附加请求。而且我怀疑您是否可以使用您的域名注册商提供的重定向服务器——您必须以某种方式在那里上传正确的证书——因此您必须使用自己的服务器。
第二个是您可以在页面源代码中使用您的域名的网址,但是当例如用户在单独的选项卡中打开图片时,地址栏将显示目标网址。
【讨论】:
直接使用 S3 是不可能的,但您可以从您的存储桶创建 Cloud Front 分配。然后转到证书管理器并请求证书。亚马逊免费提供。您已成功确认认证的人,将其分配给您的 Cloud Front 分配。还要记住将规则设置为将 http 重定向到 https。
我在 Amazon S3 上托管了几个静态网站,例如我已为其分配 SSL 证书的个人网站,因为它们具有 Cloud Front 分发版。
【讨论】:
如前所述,您无法为 S3 存储桶创建免费证书。但是,您可以创建 Cloud Front 分配,然后为 Cloud Front 分配证书。您为您的域请求证书,然后将其分配给 Cloud Front 设置中的 Cloud Front 分发。我已经使用这种方法通过 SSL 提供静态网站以及提供静态文件。
对于创建静态网站,亚马逊是首选。使用 SSL 获得静态网站真的很实惠。
【讨论】: