简而言之
总之,我想知道我是否可以通过载波和雾连接向亚马逊s3发送额外的标题?
深度
我最近发现amazon支持文件的客户端和服务器端加密。更多信息»http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html
我目前在rails应用程序中使用carrierwave将文件上传到亚马逊s3
对于服务器端加密,亚马逊要求在请求中添加 x-amz-server-side-encryption = AES256 的标头。
所以我想找出如何通过载波和雾来发送额外的标题。
我的想法是,也许我可以使用类似于以下内容的fog_attribute配置行,也许这可能有效,但我不确定fog_attribute是用于partiular属性还是仅用于总括标题部分。
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方法适用于已定义的属性列表。
必须有办法使这项工作。任何人吗?
答案 0 :(得分:4)
我认为实际上应该是正确的,但请注意,我不相信服务器端加密内容已经发布,因此您需要使用边缘雾来获取此行为。我希望尽快发布,然后它应该很好。如果您发现仍然无法让它工作,请告诉我,我们会尝试看看可以做些什么。
答案 1 :(得分:1)
我不能谈论CarrierWave,但这适用于使用AWS256加密保存带有(当前)标准雾分布的文件:
file.attributes[:encryption ] = "AES256"
result = file.save()
但是,这不适用于复制文件。适用于复制的是:
fogfile.copy(@bucket_archived, newfilename, {'x-amz-server-side-encryption' => 'AES256'})