क्लाउडफ्रंट पर वैधानिक रूप से होस्ट की गई वेबसाइट पर उपनिर्देशिकाओं के लिए डिफ़ॉल्ट रूट ऑब्जेक्ट कैसे सेट करते हैं? विशेष रूप से, www.example.com/subdir/index.html
जब भी उपयोगकर्ता पूछेगा , मैं उसे परोसा जाना चाहूंगा www.example.com/subdir
। ध्यान दें, यह S3 बाल्टी में रखी गई स्थैतिक वेबसाइट को डिलीवर करने के लिए है। इसके अलावा, मैं केवल क्लाउडफ्रंट के लिए S3 बाल्टी तक पहुंच को प्रतिबंधित करने के लिए एक मूल पहुंच पहचान का उपयोग करना चाहूंगा।
अब, मुझे पता है कि क्लाउडफ्रंट S3 और अमेजन राज्यों से अलग काम करता है :
CloudFront की डिफ़ॉल्ट रूट ऑब्जेक्ट का व्यवहार Amazon S3 इंडेक्स दस्तावेज़ों के व्यवहार से अलग है। जब आप Amazon S3 बाल्टी को एक वेबसाइट के रूप में कॉन्फ़िगर करते हैं और इंडेक्स डॉक्यूमेंट को निर्दिष्ट करते हैं, तो Amazon S3 इंडेक्स डॉक्यूमेंट लौटाता है, भले ही उपयोगकर्ता बाल्टी में एक उपनिर्देशिका का अनुरोध करता हो। (अनुक्रमणिका दस्तावेज़ की एक प्रति प्रत्येक उपनिर्देशिका में दिखाई देनी चाहिए।) अमेज़ॅन एस 3 बाल्टी को वेबसाइटों के रूप में और सूचकांक दस्तावेज़ों के बारे में अधिक जानकारी के लिए, अमेज़ॅन सरल संग्रहण सेवा डेवलपर गाइड में अमेज़ॅन एस 3 अध्याय पर होस्टिंग वेबसाइटें देखें।
जैसे, भले ही Cloudfront हमें डिफ़ॉल्ट रूट ऑब्जेक्ट निर्दिष्ट करने की अनुमति देता है, यह केवल इसके लिए काम करता है www.example.com
और इसके लिए नहीं www.example.com/subdir
। इस कठिनाई को प्राप्त करने के लिए, हम मूल डोमेन नाम को S3 द्वारा दी गई वेबसाइट एंडपॉइंट पर इंगित कर सकते हैं। यह महान काम करता है और रूट ऑब्जेक्ट को समान रूप से निर्दिष्ट करने की अनुमति देता है। दुर्भाग्य से, यह मूल अभिगम पहचान के साथ अनुकूल नहीं प्रतीत होता है । विशेष रूप से, उपरोक्त लिंक बताता है:
संपादन मोड में बदलें:
वेब वितरण - मूल टैब पर क्लिक करें, उस मूल पर क्लिक करें जिसे आप संपादित करना चाहते हैं, और संपादित करें पर क्लिक करें। आप केवल उत्पत्ति के लिए एक मूल पहुंच पहचान बना सकते हैं जिसके लिए उत्पत्ति प्रकार S3 मूल है।
मूल रूप से, सही डिफॉल्ट रूट ऑब्जेक्ट सेट करने के लिए, हम S3 वेबसाइट एंडपॉइंट का उपयोग करते हैं न कि वेबसाइट की बकेट का। यह मूल अभिगम पहचान का उपयोग करने के साथ संगत नहीं है। जैसे, मेरे सवाल या तो उबलते हैं
क्या क्लाउडफ्रंट पर वैधानिक रूप से होस्ट की गई वेबसाइट के लिए सभी उपनिर्देशिकाओं के लिए एक डिफ़ॉल्ट रूट ऑब्जेक्ट निर्दिष्ट करना संभव है?
क्या यह संभव है कि क्लाउडफ्रंट से प्राप्त सामग्री के लिए एक मूल अभिगम पहचान को सेटअप किया जाए जहां मूल एक S3 वेबसाइट समापन बिंदु है और S3 बाल्टी नहीं है?