12

简而言之
,我想知道我是否可以通过载波和雾连接向 Amazon s3 发送额外的标头?

我最近深入
发现亚马逊支持文件的客户端和服务器端加密。更多信息 » http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html

我目前在 rails 应用程序中使用carrierwave 将文件上传到amazon s3。
对于服务器端加密,亚马逊要求将x-amz-server-side-encryption=AES256的标头添加到请求中。

所以我想弄清楚如何通过我的载波和雾发送额外的标题。

我的想法是,也许我可以使用类似以下的fog_attribute 配置行,也许这可能有效,但我不确定fog_attribute 是用于特定属性还是只是一个总括标题部分。

config.fog_attributes = {'x-amz-server-side-encryption' => 'AES256','Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}

所以我终于得到了我的应用程序来测试这个,但不幸的是它没有工作。

我还发现了这一点:https ://github.com/geemus/fog/commit/070e2565d3eb08d0daaa258ad340b6254a9c6ef2在雾存储库中提交,这让我觉得fog_attributes 方法适用于已定义的属性列表。

必须有一种方法来完成这项工作。任何人?

4

2 回答 2

4

我相信这实际上应该是正确的,但请注意,我不相信服务器端加密的东西已经发布,所以你需要使用边缘雾来获得这种行为。我希望尽快发布,然后它应该很好去。如果你发现你仍然无法让它在边缘工作,请告诉我,我们会尝试看看可以做些什么。

于 2012-02-23T17:03:18.570 回答
1

我不能谈论 CarrierWave,但这适用于使用(当前)标准 Fog 分发的 AWS256 加密保存文件:

file.attributes[:encryption ] = "AES256"
result = file.save()

但是,这不适用于复制文件。复制的有效方法是:

fogfile.copy(@bucket_archived, newfilename, {'x-amz-server-side-encryption' => 'AES256'})
于 2012-06-23T18:21:25.120 回答