मैं CEPH + पाने के लिए जादुई फॉर्मूला खोज रहा हूंS3 Java SDK + ने PUT url + CORS काम कर रहा है। हम एक बाल्टी बनाने में सक्षम हैं और फिर बाल्टी में एक कॉर्स कॉन्फ़िगरेशन लागू करते हैं। फिर हम पहले से जेनरेट किए गए PUT url बनाने में सक्षम हैं जो हम फिर क्लाइंट को भेजते हैं। हालाँकि, CORS प्रीफ़लाइट (विकल्प) अनुरोध 403 के साथ विफल हो जाता है।
एडब्ल्यूएस के खिलाफ यह समान कोड महान काम करता है। हालाँकि, स्विफ्ट और सेफ दोनों ही 403 के साथ ऑप्शंस रिक्वेस्ट पर फेल हैं। चूंकि ऑप्शंस फेल हैं, कॉर्स फेल हैं। हमने इसे (हम सोचते हैं) RADOSGW में एक संभावित दोष के बारे में बताया कि यह कैसे हैडर हेडर बनाता है ... यह amazon SDK द्वारा उपयोग की जाने वाली हस्ताक्षर प्रक्रिया से मेल नहीं खाता है। उदाहरण के लिए:
AWS Java auth hdr that gets signed:
PUT
image/jpeg
1404252781
x-amz-meta-origfile:Desert.jpg
/virbsupport/78946140-4638-4338-b765-6f701c453a89?response-content-disposition=attachment; filename=Desert.jpg
In Ceph:
OPTIONS
1404252781
/virbsupport/78946140-4638-4338-b765-6f701c453a89?response-content-disposition=attachment; filename=Desert.jpg
हम सामग्री प्रकार और अतिरिक्त के साथ काम कर सकते हैंमेटाडेटा फ़ील्ड गायब है लेकिन ध्यान दें कि METHOD पूरी तरह से गलत है। RADOSGW मुझे लगता है कि हस्ताक्षर में विधि के रूप में "एक्सेस-कंट्रोल-रिक्वेस्ट-मैथड" का उपयोग किया जाना चाहिए ... न कि वास्तविक विकल्प विधि का उपयोग प्रीफ़्लाइट अनुरोध के लिए किया जा रहा है।
क्या कोई इस संयोजन को प्राप्त करने में सक्षम है?
उत्तर:
जवाब के लिए 0 № 1हमने इस मुद्दे के लिए सिफ RGW लाइब्रेरी में एक बग को लॉग इन किया। http://tracker.ceph.com/issues/8718#change-38624