2012-02-02 11 views
12

En resumen
En resumen me gustaría saber si puedo enviar cabeceras adicionales a través de una conexión carrierwave y la niebla a Amazon S3?agregar encabezados adicionales a Carrierwave para Amazon S3 cifrado

A fondo
me ha descubierto recientemente que Amazon es compatible con el cifrado del cliente y del lado del servidor de archivos. más información »http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html

Actualmente estoy usando carrierwave en una aplicación de rieles para subir archivos a amazon s3.
Para el cifrado del lado del servidor Amazon pide un encabezado de x-amz-server-side-encryption = AES256 agregado a la solicitud.

Así que estoy buscando la manera de enviar encabezados adicionales con my carrierwave y fog.

Pensé que tal vez podría usar la línea de configuración de atributo de niebla de la siguiente manera y tal vez eso podría funcionar, pero no estoy seguro de que el atributo de niebla sea para un atributo particular o simplemente una sección de encabezado general.

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

Así que finalmente tiene mi aplicación en forma de probar esto, pero por desgracia, no funcionó.

También encontré esto: https://github.com/geemus/fog/commit/070e2565d3eb08d0daaa258ad340b6254a9c6ef2 commit en el repositorio de niebla que me hace sentir que el método de atributos de niebla es para una lista definida de atributos.

Tiene que haber una manera de hacer que esto funcione. ¿Nadie?

+0

Creo que esto debería funcionar. Debería poder establecer esto y luego probarlo. – Amala

Respuesta

4

Creo que en realidad debería ser correcto, tenga en cuenta que no creo que el cifrado del lado del servidor haya sido liberado, por lo que necesitaría utilizar edge fog para obtener este comportamiento. Sin embargo, espero hacer un lanzamiento pronto y entonces debería ser bueno ir. Si encuentra que todavía no puede hacerlo funcionar al máximo, hágamelo saber y lo intentaremos y veremos qué se puede hacer.

+1

¡La niebla Edge funcionó de maravilla! ¡Gracias por tu ayuda! – JonathanSimmons

1

No puedo hablar de CarrierWave, pero esto funciona para guardar archivos con cifrado AWS256 con la distribución de la niebla (en la actualidad) estándar:

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

Sin embargo, que no funciona para copiar archivos. Lo que funciona para copiar es:

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