2012-02-02 6 views
12

Insomma
Insomma vorrei sapere se posso inviare ulteriori intestazioni attraverso una connessione carrierwave e nebbia di Amazon S3?Aggiungere intestazioni aggiuntivi agli Carrierwave per Amazon S3 Encryption

In profondità
di recente ho scoperto che amazon supporta client e lato server la crittografia dei file. more info »http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html

Attualmente sto utilizzando carrierwave in un'app per caricare file su amazon s3.
Per la crittografia lato server amazon richiede un'intestazione di x-amz-server-side-encryption = AES256 aggiunto alla richiesta.

Quindi sto cercando di capire come inviare intestazioni aggiuntive attraverso il mio vettore portante e nebbia.

Il mio pensiero è che forse potrei usare la riga di configurazione fog_attribute qualcosa come la seguente e forse potrebbe funzionare ma non sono sicuro che il fog_attribute sia per l'attributo particulare o solo una sezione di intestazione coperta.

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

Così ho finalmente ottenuto la mia app in forma di testare questo, ma purtroppo non ha funzionato.

Ho anche trovato questo: https://github.com/geemus/fog/commit/070e2565d3eb08d0daaa258ad340b6254a9c6ef2 commit nel repository nebbia che mi fa sentire il metodo fog_attributes è per un elenco definito di attributi.

Deve esserci un modo per farlo funzionare. Chiunque?

+0

Credo che questo dovrebbe funzionare. Dovresti poterlo impostare e quindi testarlo. – Amala

risposta

4

Credo che in realtà dovrebbe essere corretto, si noti tuttavia che non credo che le informazioni di crittografia sul lato server siano state rilasciate, quindi è necessario utilizzare la nebbia laterale per ottenere questo comportamento. Spero di fare presto un rilascio e poi dovrebbe andare bene. Se ti accorgi che non riesci ancora a farlo funzionare, fammelo sapere e proveremo a vedere cosa si può fare.

+1

La nebbia Edge ha funzionato alla grande! Grazie per l'aiuto! – JonathanSimmons

1

Non posso parlare di CarrierWave, ma questo funziona per il salvataggio dei file con crittografia AWS256 con la (attualmente) la distribuzione della nebbia di serie:

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

Tuttavia, che non funziona per la copia dei file. Ciò che funziona per la copia è:

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