Подтвердить что ты не робот

Добавление дополнительных заголовков в Carrierwave для шифрования Amazon s3

Короче
Короче говоря, я хочу знать, могу ли я отправлять дополнительные заголовки через несущую и туманную связь с Amazon s3?

В глубину
Недавно я обнаружил, что amazon поддерживает шифрование файлов на стороне клиента и сервера. подробнее "http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html

Я сейчас использую carrierwave в приложении rails для загрузки файлов на amazon s3.
Для шифрования на стороне сервера amazon запрашивает заголовок 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 предназначен для определенного списка атрибутов.

Должен быть способ сделать эту работу. Кто-нибудь?

4b9b3361

Ответ 1

Я считаю, что это должно быть правильно, обратите внимание, однако, что я не считаю, что материал для шифрования на стороне сервера был выпущен, поэтому вам нужно использовать краевой туман, чтобы получить такое поведение. Я надеюсь скоро выпустить релиз, а потом, должно быть, хорошо идти. Если вы обнаружите, что вы все еще не можете заставить его работать на краю, дайте мне знать, и мы попытаемся посмотреть, что можно сделать.

Ответ 2

Я не могу говорить о CarrierWave, но это работает для сохранения файлов с шифрованием AWS256 с (в настоящее время) стандартным распределением Fog:

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

Однако это не работает для копирования файлов. Что работает для копирования:

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