【问题标题】:Adding Additional Headers to Carrierwave for Amazon s3 Encryption向 Carrierwave 添加其他标头以进行 Amazon s3 加密
【发布时间】:2012-02-02 02:00:09
【问题描述】:

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

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

我目前在 Rails 应用程序中使用carrierwave 将文件上传到亚马逊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 方法适用于已定义的属性列表。

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

【问题讨论】:

  • 我相信这应该可行。你应该可以设置它然后测试它。

标签: ruby-on-rails amazon-s3 carrierwave fog


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    fogfile.copy(@bucket_archived, newfilename, {'x-amz-server-side-encryption' => 'AES256'})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-08
      • 2010-12-20
      • 2018-03-18
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 2021-08-25
      • 2018-11-27
      相关资源
      最近更新 更多