अमेज़न S3: स्टेटिक वेब साइट्स: कस्टम डोमेन या सबडोमेन


79

Amazon.com ने घोषणा की कि S3 बाल्टी में स्थैतिक वेब साइटों को होस्ट किया जा सकता है। मैं http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html पर उनके सेटअप पृष्ठ पर गया और अपनी स्थिर वेब साइट के लिए एक बाल्टी बनाई, और यह ठीक काम किया। मेरे पास http: // [मेरा बकेट नाम] .s3-website-us-east-1.amazonaw.com.com / का एक URL है ।

हालाँकि, मैं एक उपडोमेन को इंगित करना चाहूंगा कि मैं खुद (जैसे static.mydomain.com) अमेज़ॅन S3 पर अपनी स्टेटिक वेब साइट पर जाऊँ। क्या किसी को पता है कि कैसे करना है?

मैं आपसे मिलने वाली हर सहायता का आभार मानूंगा।


जवाबों:


182

यह पता चला है कि यह काम करने के लिए, आप बस किसी भी मनमाने ढंग से उप डोमेन को किसी भी मनमाने ढंग से बाल्टी में मैप नहीं कर सकते। पूरी तरह से योग्य उपडोमेन नाम S3 बकेट नाम के समान होना चाहिए

  1. मान लीजिए कि आपकी साइट का नाम static.mydomain.com है । फिर आपको उसी नाम के साथ एक S3 बाल्टी बनाने की आवश्यकता है, जिसका नाम static.mydomain.com है
  2. एक बार जब आप उस बाल्टी को S3 स्टैटिक वेब साइट के रूप में कॉन्फ़िगर करते हैं, तो उसके पास एक URL असाइन किया जाएगा जो http://static.mydomain.com.s3-website-us-east-1.amazonaws.com जैसा कुछ दिखता है ।
  3. अपने डोमेन होस्ट पर जाएं और चरण 2 से URL के लिए अपना उपडोमेन मैप करें। enom.com में, इसका मतलब है कि होस्ट " स्थिर " को " static.mydomain.com.s3-website-us-us-east-1.amazonaws " पते पर मैप करना है। .com "CNAME रिकॉर्ड के रूप में।

सुझाव के लिए उरिय्याह और डेविड को धन्यवाद । मुझे अंततः अपना जवाब अमेज़न AWS फोरम में मिला


मुझे नहीं पता। आपको इसे आज़माना होगा। इसके अलावा, आप शायद अमेज़ॅन के एसएसएल प्रमाणपत्र पर गुदगुदाएंगे, न कि अपना।
जय गोडसे

2
आप वास्तव में सिर्फ अपने cname को s3-website-us-east-1.amazonaws.com पर इंगित कर सकते हैं , यह उप डोमेन को अनदेखा करता है और बाल्टी निर्दिष्ट करने के लिए HOST http हेडर का उपयोग करता है। ऐसा प्रतीत नहीं होता कि दो मैच या उपडोमेन मौजूद है या नहीं।
lynks

@ विलक्स - आप इस क्षेत्र को भी गिरा सकते हैं और सिर्फ s3.amazonaws.com के साथ जा सकते हैं
प्लाई जूल

@nprashanth यह सही है (केवल S3 का उपयोग करके) आपके पास 10 सबडोमेन हो सकते हैं, जो CloudFront वितरण के साथ समान संसाधन स्थान की ओर इशारा करते हैं ... हालांकि docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
plyawn

यह काम। AWS इसे एक प्रारंभिक परिचय खंड में बताता है, लेकिन जब तक आप सभी चरणों से गुजरते हैं, तब तक इसे भूलने की आसान / संभावना है। यह lynks cname समाधान की तुलना में बेहतर समाधान है क्योंकि AWS के पास अब प्रत्येक उपयोगकर्ता द्वारा cname लुकअप के लिए लेनदेन शुल्क है।
माइक। 28

5

सुनिश्चित करें कि आप अपनी बाल्टी बनाते समय S3 DNS बाल्टी नामकरण परंपराओं का पालन करते हैं ।

फिर:

  1. गुणों में AWS प्रबंधन कंसोल का उपयोग करके बाल्टी के लिए S3 वेबसाइट समर्थन सक्षम करें -> वेबसाइट

  2. सुनिश्चित करें कि बाल्टी में फाइलें सार्वजनिक रूप से पढ़ने की अनुमति हैं

  3. प्रबंधन कंसोल में सूचीबद्ध समापन बिंदु का उपयोग करके वेबसाइट का प्रयास करें

  4. सूचीबद्ध समापन बिंदु (जैसे www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com) का उपयोग करके अपना CNAME सेटअप करें


मैंने सभी 4 चरण किए। चरण 3 काम करता है। चरण 4 में cname कॉन्फिगर करता है (enom.com के साथ, जो अन्य उप-डोमेन के साथ सफलतापूर्वक ऐसा करता है), लेकिन न तो मेरे s3 सबडोमेन को एक ब्राउजर से हिट करना और न ही इसे पिंग करना। Heroku.com और blogger.com के साथ, आपको उन्हें यह बताना होगा कि आपके कौन से सबडोमेन किस हॉकू ऐप या ब्लॉगर-ब्लॉग को हिट करने जा रहे हैं। S3 स्थिर वेब साइटों को यह प्रतीत नहीं होता है।
जय गोडसे

2
@ जय गोडसे आपकी वेबसाइट-सक्षम बाल्टी का नाम क्या है और यह क्षेत्र है?
उरई बढ़ई

4
  1. एक होस्ट ज़ोन बनाएं mydomain.com। आप वेब आधारित UI DNS30 का उपयोग कर सकते हैं ।
  2. अब इस होस्ट किए गए ज़ोन के लिए CNAME प्रविष्टि बनाएं।
  3. निम्नलिखित विवरण के साथ एक संसाधन रिकॉर्ड जोड़ें "mydomain.com" के रूप में "CNAME" मान "mydomain.com.s3.amazonaws.com" TTl के रूप में "अपने आवश्यक कॉन्फ़िगरेशन पर"

आशा है कि यह static.mydomain.com के लिए भी काम करेगा

सादर-

उदित



3

DNS सेवा का उपयोग कैसे करें, जैसे कि मार्ग 53 जो अमेज़ॅन प्रदान करता है। इसे अपने उप डोमेन से पब्लिक बकेट URL में CNAME के ​​साथ सेट करें। बेशक, यदि आपकी डोमेन कंपनी CNAME कॉन्फ़िगरेशन प्रदान करती है, जो सीधे काम कर सकती है।


1

अपडेट 2019: S3 में AWS कस्टम सबडोमेन होस्टिंग

आज के बाद के चरणों के अनुसार, मेरे लिए AWS S3 की स्थैतिक वेबसाइट के लिए काम करने वाला उपडोमेन होना चाहिए:

  1. उप डोमेन नाम के साथ एक बाल्टी बनाएँ। इस उदाहरण में www। subtest .mysite.com

अकी बाल्टी

नोट: बाल्टी के 'अनुमति' टैब पर सुनिश्चित करें: -ब्लॉक पब्लिक एक्सेस (बकेट सेटिंग) -अब कंट्रोल कंट्रोल लिस्ट और -बकेट पॉलिसी उचित रूप से सुनिश्चित करने के लिए सेट हैं कि बाल्टी सार्वजनिक है। (मान लें कि आपने पहले ही अपने रूट डोमेन बाल्टी के लिए ऐसा कर लिया है, उन सेटिंग्स को इस उप डोमेन बाल्टी पर प्रतिबिंबित किया जा सकता है)

AWS बकेट की अनुमति

  1. बाल्टी में index.html फ़ाइल अपलोड करें

s3 बाल्टी में सूचकांक फ़ाइल

  1. अपने डोमेन प्रदाता के साथ CNAME रिकॉर्ड बनाएंनामचर्चा में CNAME रिकॉर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.