अमेज़ॅन S3 - DNS कॉन्फ़िगरेशन पर स्टेटिक होस्टिंग


117

मैं थोड़ा वेबएप (सभी क्लाइंट-साइड) पर काम कर रहा हूं, जिसे मैं अमेज़न एस 3 पर होस्ट करना चाहता हूं। मुझे इस पर कई गाइड मिले हैं और खुद को एक बकेट बनाने में कामयाब रहे हैं (मेरे डोमेन के समान नाम के साथ), इसे एक वेबसाइट के रूप में सेट करें और कुछ सामग्री अपलोड करें।

जहां मैं संघर्ष कर रहा हूं, और जहां सभी दस्तावेज थोड़ा अस्पष्ट होने लगते हैं, वह यह है कि अपने DNS को ठीक से कैसे कॉन्फ़िगर किया जाए।

मेरे सभी रजिस्ट्रार ( 123-reg ) सुझाव दे सकते थे कि वेब अग्रेषण जो मुझे mydomain.com.s3.amazonaws.com देता है

मुझे क्या कॉन्फ़िगर करना होगा, और कहां (यानी। 123-reg / Amazon) मुझे एक साफ यूआरएल मिल सकता है?


चूंकि यह सवाल पूछा गया था कि चीजें बदल गई हैं। रूट डोमेन के साथ S # पर अपनी साइट को होस्ट करना अब संभव है, यहां से वॉक-थ्रू देखें: docs.aws.amazon.com/AmazonS3/latest/dev/…
pors

जवाबों:


248

लगता है कि आप पहले से ही अधिकांश काम कर चुके हैं। स्पष्टता के लिए, मैं उन चरणों पर फिर से जाऊंगा ताकि यह सुनिश्चित हो सके कि आप ठीक से सेट हैं:

  1. अपने डोमेन नाम का उपयोग बाल्टी नाम के रूप में एक s3 बाल्टी बनाएँ (यदि आपकी साइट का नाम www.example.com होना चाहिए, यदि आप चाहते हैं कि आपकी साइट example.com या www.example.com हो)

  2. अपनी सामग्री को s3 बाल्टी में अपलोड करें। अपनी वेबसाइट इंडेक्स फ़ाइलों के लिए एक सुसंगत नाम चुनें (index.html आमतौर पर)। आप 404 Not Found त्रुटियों के लिए एक कस्टम पेज भी अपलोड कर सकते हैं। इस 404.html पर कॉल करें। अपनी वेबसाइट की हर फाइल को रीड परमिशन दें, ताकि जनता उसे देख सके। बाल्टी के लिए कोई अतिरिक्त अनुमति न दें, बस फाइलों के भीतर।

  3. अपनी बाल्टी को एक वेबसाइट के रूप में कॉन्फ़िगर करें। AWS कंसोल ( https://console.aws.amazon.com/s3/ ) के साथ आप अपनी बाल्टी चुन सकते हैं, गुण क्लिक कर सकते हैं, फिर "वेबसाइट" टैब का चयन कर सकते हैं। सक्षम पर क्लिक करें और अपने सूचकांक दस्तावेज़ को "index.html" और अपने त्रुटि दस्तावेज़ को "404.html" पर सेट करें। आपको वेब ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPeaksReqd.html ) के माध्यम से एक्सेस की अनुमति देने के लिए अपनी अनुमतियों के साथ अपनी बाल्टी भी सेट करनी होगी।

  4. वेबसाइट कॉन्फ़िगरेशन टैब में "समापन बिंदु" URL पर ध्यान दें। यह वह जगह है जहाँ आपकी वेबसाइट रहती है। आप एक नई विंडो में लिंक खोल सकते हैं और आपको अपनी वेबसाइट देखनी चाहिए, जैसा कि यह दिखेगा। चारों ओर क्लिक करें और सुनिश्चित करें कि सब कुछ उम्मीद के मुताबिक काम करता है।

आप नीचे दिए गए सभी चरणों में समापन बिंदु पते का उपयोग अवश्य करें। सामान्य www.example.com.s3.amazonaws.com काम नहीं करेगा - आपको क्षेत्रीय संस्करण ( http://www.example.com.s3-website-us-east-1.amazonaws.com/) का उपयोग करने की आवश्यकता है )

अब, हम आपको क्लीन, कस्टम URL देने के लिए DNS सेट कर सकते हैं।

सबसे पहले, हम www.example.com को आपकी साइट पर मैप करेंगे।

अपने DNS प्रदाता के टूल का उपयोग करते हुए, (आपके मामले में 123-reg) आपको www.example.com से www.example.com.s3-website-us-east-1.amazonaws.com पर मैप करने के लिए CNAME रिकॉर्ड बनाने की आवश्यकता है

CNAME केवल एक चीज है जिसकी आपको आवश्यकता है, यदि आप www.example.com चाहते हैं। अधिकांश लोग यह भी चाहते हैं कि "example.com" काम करे इसलिए हमें एक और कदम की आवश्यकता है।

example.com को अक्सर एक नग्न डोमेन या डोमेन के शीर्ष रिकॉर्ड के रूप में जाना जाता है। इसका कारण यह है कि यह एक CNAME नहीं हो सकता है। CNAME केवल "www।" जैसे उप-डोमेन पर काम करते हैं। यह s3 को इंगित करना अधिक कठिन बनाता है।

सामान्य दृष्टिकोण www.example.com को इंगित करने के लिए example.com पर जाने वाले किसी भी अनुरोध को स्वचालित रूप से पुनर्निर्देशित करने के लिए एक सेवा का उपयोग करना है। यह तब आपके CNAME रिकॉर्ड को उठाएगा और आपकी साइट को s3 से परोसा जाएगा।

सादे पुराने DNS के साथ स्वचालित रीडायरेक्ट संभव नहीं है, इसलिए आपको दूसरी सेवा का उपयोग करना होगा। कुछ DNS प्रदाता इस सेवा को अपने DNS (godaddy does, amazon path53 के साथ नहीं देते हैं। 123-reg के बारे में निश्चित नहीं है)

यदि आपका DNS प्रदाता ऐसा नहीं करता है, तो कुछ मुफ्त सेवाएँ हैं। मैंने जो प्रयोग किया है वह है http://wwwizer.com/naked-domain-redirect - इसके लिए किसी पंजीकरण या भुगतान की आवश्यकता नहीं है।

इस प्रकार की सेवा का उपयोग करने के लिए, आपको अपने नग्न डोमेन के लिए DNS "A" रिकॉर्ड बनाना होगा। Wwwizer.com सेवा के लिए, आपको 174.129.25.170 से example.com तक एक रिकॉर्ड बनाने की आवश्यकता होगी। बस इतना ही!

इसलिए, इस सेटअप के साथ, यदि कोई उपयोगकर्ता अपने ब्राउज़र में example.com टाइप करता है, तो निम्न होगा:

  1. DNS क्वेरी: example.com -> 174.129.25.170 (wwwizer.com की सेवा)
  2. Example.com के लिए HTTP अनुरोध 174.129.25.170 है
  3. 174.129.25.170 redirects example.com -> www.example.com
  4. DNS क्वेरी: www.example.com -> CNAME से www.example.com.s3-website-us-east-1.amassaws.com
  5. DNS क्वेरी: www.example.com.s3-website-us-east-1.amazonaws.com -> अमेज़न S3 को इंगित करता है
  6. Www.example.com के लिए HTTP अनुरोध अब Amazon S3 द्वारा दिया गया है

का आनंद लें!


2
सभी की स्पष्टता के लिए बहुत बहुत धन्यवाद! मैंने बदलाव किए हैं, बस इसके उचित होने की प्रतीक्षा कर रहा हूं, उंगलियां सब कुछ पार कर जाएंगी।
मर्लिन मेसन

हम्म, अभी भी काम नहीं कर रहा है। यहाँ DNS कॉन्फ़िगरेशन का एक स्क्रैगैब है - cl.ly/CP6U अंत में डॉट संदेहास्पद लगता है, मैंने उसे इसमें नहीं जोड़ा है, और उस URL को अंत में डॉट वाले ब्राउज़र में डालने से मुझे एक बाल्टी अनफ़ाउंड त्रुटि मिलती है। मैंने इसे हटाने की कोशिश की, लेकिन यह एक बार बचता है, और मैं इसे एक / के साथ बदलने की कोशिश करता हूं, लेकिन फिर मुझे एक अमान्य त्रुटि मिलती है। क्या आपको लगता है कि यह 123-regs के अंत में एक समस्या हो सकती है?
मर्लिन मेसन

हाय मर्लिन, मैंने आपके डोमेन नाम (wpfill.me) पर एक खोज की कोशिश की और मुझे आपके स्क्रीनशॉट में कोई भी रिकॉर्ड दिखाई नहीं दे रहा है। क्या 123-reg में एक अलग "प्रकाशित" या "प्रतिबद्ध" कदम है? ऐसा नहीं लगता कि आपके कॉन्फ़िगरेशन पर असर हुआ है।
गुप्त काल

हम्म, मुझे लगता है कि 123-reg के साथ एक समस्या होनी चाहिए, मैंने DNS रिकॉर्ड्स को रीसेट करने की कोशिश की और इसके प्रचार के लिए 48 घंटे का इंतजार किया और अभी भी कोई खुशी नहीं हुई। मैंने फिर क्लाउड होस्टिंग को DNS होस्टिंग को बंद कर दिया और पूरी बात उठाई और 20 मिनट में चल रहा था :) आपकी मदद के लिए धन्यवाद, वास्तव में इसकी सराहना करते हैं!
मर्लिन मेसन


1

मेरा मानना ​​है कि आपको अपनी बाल्टी में सभी डॉक्स का चयन करना होगा, राइट क्लिक करें, और "सार्वजनिक करें" चुनें। आपको हर बार बाल्टी में कुछ बदलाव करने के साथ ही ऐसा करना चाहिए। फिर मैं आमतौर पर बाल्टी पर राइट क्लिक करता हूं, गुण चुनता हूं, राइट हैंड पेन में परमिशन चुनता हूं, फिर "सबको" ग्रैडी "के रूप में जोड़ता हूं, फिर उन्हें केवल" लिस्ट "परमिशन देता हूं। आपके बाकी आर्टिकल बेहतरीन हैं। नग्न डोमेन के बारे में मदद की। मुझे मेरे मुद्दों को हल करें। आप "स्टैटिक वेबसाइट होस्टिंग" के तहत S3 के भीतर www डोमेन पर नग्न डोमेन को भी पुनर्निर्देशित कर सकते हैं। यह शायद सबसे आसान तरीका है। आपकी सभी मदद के लिए फिर से धन्यवाद।

टिम


3
यदि आप ऊपर बताए अनुसार बाल्टी नीति लागू करते हैं तो यह मैनुअल कदम अनावश्यक है।
टूलूस

1

अपडेट 2019

आज के बाद से DNS सेटिंग के बाद मेरे लिए AWS S3 स्टैटिक वेबसाइट काम कर रही है:

बाल्टी मानचित्रण के लिए DNS सेटिंग


0

अपने 123-reg नियंत्रण पैनल पर उन्नत DNS स्क्रीन से

  • मैंने डिफ़ॉल्ट 123-रेग सेटिंग्स में "रीसेट डीएनएस" बटन पर क्लिक करके शुरू किया।

इसने मुझे निम्नलिखित दिया;

DNS EntryType       PriorityTTLDestination/Target
*                 A                                 81.xx.xx.xx              
@               A                                 81.xx.xx.xx              
@               MX          10               xx0.123-reg.co.uk
@               MX          20               xx1.123-reg.co.uk

  • मैंने फिर इस प्रविष्टि को जोड़ा

www          CNAME                    www.example.com.s3-website-us-east-1.amazonaws.com

उनके प्रबंधित DNS गाइड पीडीएफ से यह कहता है कि "@ रिकॉर्ड" "आपके डोमेन को अपने शुद्धतम रूप में बिना किसी उपडोमेन के संदर्भित करता है" अर्थात नग्न डोमेन stackoverflow.com।

लेकिन यह उल्लेख नहीं करता है कि "* रिकॉर्ड" क्या है, मैंने माना कि यह सभी उप डोमेन को पकड़ने के लिए होगा और सोचा कि यह CNAME रिकॉर्ड की सवारी कर सकता है, लेकिन ऐसा प्रतीत नहीं होता है।

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