2012-02-02 27 views
12

के लिए Carrierwave के लिए अतिरिक्त हेडर जोड़ने
कम मुझे पता है कि अगर मैं अमेज़न S3 के लिए एक carrierwave और कोहरे कनेक्शन के माध्यम से अतिरिक्त हेडर भेज सकते हैं चाहते हैं?संक्षेप में अमेज़न S3 एन्क्रिप्शन

गहराई में
मैं हाल ही में पाया गया है कि अमेज़न फ़ाइलों के ग्राहक और सर्वर साइड एन्क्रिप्शन का समर्थन। अधिक जानकारी »http://docs.amazonwebservices.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html

मैं वर्तमान में अमेज़ॅन एस 3 में फ़ाइलों को अपलोड करने के लिए रेल ऐप में कैरियरवेव का उपयोग कर रहा हूं।
सर्वर साइड एन्क्रिप्शन अमेज़ॅन के लिए एक्स-एएमजे-सर्वर-साइड-एन्क्रिप्शन = एईएस 256 के हेडर के लिए अनुरोध में जोड़ा गया है।

तो मैं यह पता लगाने के लिए देख रहा हूं कि मेरे वाहक और कोहरे के साथ अतिरिक्त शीर्षलेख कैसे भेजना है।

मेरा विचार था कि शायद मैं fog_attribute config लाइन का उपयोग निम्न की तरह कुछ कर सकता हूं और शायद यह काम कर सकता है लेकिन मुझे यकीन नहीं है कि 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 विधि विशेषता की परिभाषित सूची के लिए है।

इस काम को करने का एक तरीका होना चाहिए। किसी को?

+0

मुझे विश्वास है कि यह काम करना चाहिए। आपको इसे सेट करने में सक्षम होना चाहिए और फिर इसका परीक्षण करना चाहिए। – Amala

उत्तर

4

मेरा मानना ​​है कि वास्तव में सही होना चाहिए, ध्यान दें कि मुझे विश्वास नहीं है कि सर्वर साइड एन्क्रिप्शन सामान जारी किया गया है, इसलिए आपको इस व्यवहार को प्राप्त करने के लिए किनारे कोहरे का उपयोग करने की आवश्यकता होगी। मैं जल्द ही एक रिलीज करने की उम्मीद करता हूं और फिर यह जाना अच्छा होगा। यदि आपको लगता है कि आप अभी भी किनारे पर काम नहीं कर पा रहे हैं तो मुझे बताएं और हम कोशिश करेंगे और देखेंगे कि क्या किया जा सकता है।

+1

एज कोहरे ने महान काम किया! आपकी सहायताके लिए धन्यवाद! – JonathanSimmons

1

मैं CarrierWave बारे में बात नहीं कर सकते हैं, लेकिन यह (वर्तमान में) मानक कोहरा वितरण के साथ AWS256 एन्क्रिप्शन के साथ फ़ाइलों को बचाने के लिए काम करता है:

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

हालांकि, कि फाइलों को कॉपी करने के लिए काम नहीं करता। प्रतिलिपि बनाने के लिए क्या काम करता है:

fogfile.copy(@bucket_archived, newfilename, {'x-amz-server-side-encryption' => 'AES256'}) 
संबंधित मुद्दे