2008-08-26 14 views
28

क्या S3 को index.html पृष्ठ पर डिफ़ॉल्ट बनाने का कोई तरीका है? उदा .: मेरी बाल्टी वस्तु सूची:क्या S3 पर होस्ट की गई सामग्री के साथ index.html कार्यक्षमता रखने का कोई तरीका है?

/index.html 
/favicon.ico 
/images/logo.gif 

एक कॉल www.example.com/ को index.html महान काम करता है! लेकिन अगर कोई www.example.com/ पर कॉल करना था तो हमें या तो 403 या आरईएसटी ऑब्जेक्ट को XML दस्तावेज़ सूचीबद्ध करना होगा, इस पर निर्भर करता है कि बाल्टी-स्तर एसीएल कैसे कॉन्फ़िगर किया गया था।

तो, प्रश्न: क्या S3 पर होस्ट की गई सामग्री के साथ index.html कार्यक्षमता रखने का कोई तरीका है?

उत्तर

34

अमेज़न S3 अब Index Documents

एक बाल्टी के लिए सूचकांक दस्तावेज़index.html की तरह कुछ करने के लिए सेट किया जा सकता है समर्थन करता है। साइट की रूट या उस उप-निर्देशिका वाले रूट को एक्सेस करते समय उस दस्तावेज़ के दस्तावेज़ को वापस कर दिया जाता है।

यह का उपयोग कर ऐसा करने के लिए बहुत आसान है एडब्ल्यूएस CLI:

aws s3 website $MY_BUCKET_NAME --index-document index.html 

आप एडब्ल्यूएस प्रबंधन कंसोल से सूचकांक दस्तावेज़ सेट कर सकते हैं:

enter image description here

+0

बस कुछ घंटों पहले इस बारे में पढ़ा था ... अच्छा ... –

+0

हाँ। जैसे ही मैंने घोषणा सुनाई मैंने इसे पोस्ट किया। –

+0

पीएस: फ्रीहैंड सर्कल से प्यार करें;) –

2

मैं 2006 से this thread पढ़ने (अमेज़ॅन वेब सेवा डेवलपर्स कनेक्शन पर) पढ़ने का सुझाव दूंगा। ऐसा लगता है कि इसका कोई आसान समाधान नहीं है।

0

आप इसे डीएनएस वेबफोर्ड्स और क्लोकिंग का उपयोग करके कर सकते हैं। index.html

www.example.com आगे http://www.example.com.s3.amazonaws.com के पूर्ण पथ पर आगे बढ़ें और सुनिश्चित करें कि आप आउटपुट को क्लोक करें।

2

हां। AWS क्लाउडफ़्रंट का उपयोग करके आप एक डिफ़ॉल्ट फ़ाइल असाइन कर सकते हैं।

4

आप इसे आसानी से अमेज़ॅन क्लाउडफ्रंट link द्वारा हल कर सकते हैं। अमेज़ॅन क्लाउडफ्रंट पर आप रूट ऑब्जेक्ट को संशोधित कर सकते हैं। आप यहां प्रबंधक डाउनलोड कर सकते हैं: m1.mycloudbuddy.com/downloads.html।

+0

हा होगा, मैं पूरी तरह से इस दो वर्षीय प्रश्न के बारे में भूल गया था। हां, क्लाउडफ्रंट सामान्य रूप से एस 3 से वितरित सामग्री पर बहुत बेहतर है। –

31

अभी भी के खिलाफ संघर्ष कर लोगों के लिए यह 3 वर्षों के बाद, मुझे कुछ महत्वपूर्ण जानकारी जोड़ने दें:

आपकी वेबसाइट के URL (और जो आप अपने DNS इंगित करने के लिए)

<bucket_name>.s3-us-west-2.amazonaws.com, लेकिन

<bucket_name>.s3-website-us-west-2.amazonaws.com नहीं है।

यदि आप पहले उपयोग करते हैं, तो यह इरादे के अनुसार काम नहीं करेगा, इससे कोई फर्क नहीं पड़ता कि आप Index document को कितना कॉन्फ़िगर करते हैं।

एक विशिष्ट उदाहरण के लिए, पर विचार करें:

अपना असली वेबसाइट का पता पाने के लिए, अपने S3 Management Console पर जाते हैं, लक्ष्य बाल्टी, तो Properties, तो Static Website Hosting का चयन करें। यह वेबसाइट यूआरएल दिखाएगा जो काम करेगा।

+3

यह सही जवाब है! धन्यवाद! –

+2

अंत में मेरी समस्या को हल करने के लिए धन्यवाद! –

+2

धन्यवाद! इसने मुझे 15 बार पीड़ा दी है और मुझे कभी समझ में नहीं आया क्यों। –

3

चूंकि यह लंबे समय से हुआ है, इस सवाल से पूछा जा रहा है, और अमेज़ॅन एस 3 ने अपने इंटरफ़ेस को बदल दिया है। मैं अद्यतन स्क्रीनशॉट के साथ जवाब देना चाहता हूं।

हमें वेबहोस्टिंग के रूप में कार्य करने के लिए एस 3 के लिए 'स्थैतिक वेब होस्टिंग' सक्षम करने की आवश्यकता है। - गुणों पर जाएं -> स्थैतिक वेब होस्टिंग पर क्लिक करें -> 'वेबसाइट को होस्ट करने के लिए' इस बाल्टी का उपयोग करें ' - इंडेक्स दस्तावेज़ (डिफ़ॉल्ट रूप से index.html), त्रुटि दस्तावेज़ और पुनर्निर्देशन नियम, यदि कोई हो, तो चुनें। Selecting static web hosting

use-this-bucket-to-host-a-website

रूप https://stackoverflow.com/a/24377823/3086531 में उत्तर दिया, वेब होस्टिंग लिंक

http://bucket-name.s3-website-region.amazonaws.com

संबंधित मुद्दे