Amazon Route53 में DNS आधारित URL अग्रेषित करना [बंद]


140

मैं Amazon Route53 में फॉरवर्ड करने की कोशिश कर रहा हूं। मेरी अंतिम DNS सेवा (Nettica) ने मुझे "aws.example.com" से "https://myaccount.signin.aws.amazon.com/console/" मार्ग अनुरोध करने की अनुमति दी।

क्या यह कार्यक्षमता रूट 53 द्वारा समर्थित है?

Nettica इसे कैसे प्राप्त करती है? क्या यह एक विशेष A, CNAME, PTR, या TXT रिकॉर्ड सम्मिलित करता है?


URL के साथ Cloudfront वितरण बनाना क्योंकि मूल भी काम करता है। बस रूट53 से क्लाउडफ्रंट वितरण के लिए डोमेन को इंगित करें और सुनिश्चित करें कि टीएलएस सेर्ट्स को सही ढंग से कॉन्फ़िगर करें।
डेविन

जवाबों:


325

मैं ठीक उसी समस्या में चल रहा था जिसका सौरव ने वर्णन किया था, लेकिन मुझे वास्तव में एक समाधान खोजने की जरूरत थी, जिसमें रूट 53 और एस 3 के अलावा किसी और चीज की आवश्यकता न हो। मैंने अपने ब्लॉग के लिए एक गाइड बनाया कि मैंने क्या किया।

यहां वह है जो मैंने जुटाया।


उद्देश्य

केवल Amazon S3 और Amazon रूट 53 में उपलब्ध उपकरणों का उपयोग करते हुए, URL को पुनर्निर्देशित करें जो स्वचालित रूप से http://url-redirect-example.vivekmchawla.com को AWS कंसोल साइन-इन पृष्ठ पर "Mycccount" के लिए, https पर स्थित है। : //myaccount.signin.aws.amazon.com/console/

यह मार्गदर्शिका आपको केवल अमेजन से ही नहीं, बल्कि किसी भी URL पर URL अग्रेषित करना सिखाएगी। आप यह जानेंगे कि कैसे विशिष्ट फोल्डर को अग्रेषित करना है (जैसे "/ कंसोल" मेरे उदाहरण में), और HTTP से HTTPS (या इसके विपरीत) के पुनर्निर्देशन के प्रोटोकॉल को कैसे बदलना है।


एक कदम: अपने S3 बाल्टी बनाएँ

S3 प्रबंधन कंसोल खोलें और "बाल्टी बनाएँ" पर क्लिक करें

S3 प्रबंधन कंसोल खोलें और "बाल्टी बनाएँ" पर क्लिक करें।


दो कदम: आपका S3 बाल्टी नाम

अपने S3 बाल्टी को नाम दें

  1. एक बकेट नाम चुनें। यह कदम वास्तव में महत्वपूर्ण है! आपको बाल्टी का नाम उसी के जैसा होना चाहिए, जिसे आप अग्रेषण के लिए सेट करना चाहते हैं। इस मार्गदर्शिका के लिए, मैं "url-redirect-example.vivekmchawla.com" नाम का उपयोग करूँगा।

  2. जो भी क्षेत्र आपके लिए सबसे अच्छा काम करता है उसका चयन करें। यदि आप नहीं जानते हैं, तो डिफ़ॉल्ट रखें।

  3. लॉगिंग स्थापित करने के बारे में चिंता न करें। जब आप तैयार हों तो बस "बनाएं" बटन पर क्लिक करें।


चरण 3: स्टेटिक वेबसाइट होस्टिंग सक्षम करें और रूटिंग नियमों को निर्दिष्ट करें

स्थैतिक वेबसाइट होस्टिंग सक्षम करें और रूटिंग नियम निर्दिष्ट करें

  1. गुण विंडो में, "स्टेटिक वेबसाइट होस्टिंग" के लिए सेटिंग्स खोलें।
  2. "वेबसाइट होस्टिंग सक्षम करें" के विकल्प का चयन करें।
  3. "इंडेक्स डॉक्यूमेंट" के लिए एक मान दर्ज करें। यह ऑब्जेक्ट (दस्तावेज़) S3 द्वारा कभी नहीं परोसा जाएगा, और आपको इसे कभी भी अपलोड नहीं करना होगा। बस आपको किसी भी नाम का उपयोग करना है।
  4. "पुनर्निर्देशन नियम संपादित करें" के लिए सेटिंग्स खोलें।
  5. निम्न XML स्निपेट को संपूर्णता में चिपकाएँ।

    <RoutingRules>
      <RoutingRule>
        <Redirect>
          <Protocol>https</Protocol>
          <HostName>myaccount.signin.aws.amazon.com</HostName>
          <ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
          <HttpRedirectCode>301</HttpRedirectCode>
        </Redirect>
      </RoutingRule>
    </RoutingRules>
    

यदि आप इसके बारे में उत्सुक हैं कि उपरोक्त XML क्या कर रहा है, तो "सिनेमैक्स फॉर स्पेसिफिक रूटिंग रूल्स" के लिए AWM डॉक्यूमेंटेशन पर जाएँ । एक बोनस तकनीक (यहां कवर नहीं की गई है) उदाहरण के लिए, गंतव्य होस्ट पर विशिष्ट पृष्ठों को अग्रेषित कर रही है http://redirect-destination.com/console/special-page.html<ReplaceKeyWith>यदि आपको इस कार्यक्षमता की आवश्यकता है, तो तत्व के बारे में पढ़ें ।


चरण 4: अपने रीडायरेक्ट बकेट के "समापन बिंदु" पर ध्यान दें

अपने रीडायरेक्ट बकेट के समापन बिंदु पर ध्यान दें

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

सावधान! इस बिंदु पर आप वास्तव में इस लिंक पर क्लिक करके यह देख सकते हैं कि क्या आपके पुनर्निर्देशन नियम सही ढंग से दर्ज किए गए थे, लेकिन सावधान रहें! यहाँ पर क्यों...

मान लें कि आपने <Hostname>अपने रीडायरेक्शन नियमों में टैग के अंदर गलत मान दर्ज किया है । हो सकता है कि आपने myaccount.amazon.comइसके बजाय गलती से टाइप किया हो myaccount.signin.aws.amazon.com। यदि आप समापन बिंदु URL का परीक्षण करने के लिए लिंक पर क्लिक करते हैं, तो AWS आपके ब्राउज़र को गलत पते पर खुशी से पुनर्निर्देशित करेगा!

अपनी गलती को नोटिस करने के बाद, आप संभवतः <Hostname>त्रुटि को ठीक करने के लिए अपने पुनर्निर्देशन नियमों को संपादित करेंगे । दुर्भाग्य से, जब आप लिंक को फिर से क्लिक करने का प्रयास करते हैं, तो आप सबसे अंत में गलत पते पर वापस निर्देशित हो जाएंगे! भले ही आपने <Hostname>प्रविष्टि को ठीक किया हो , आपका ब्राउज़र पिछली (गलत!) प्रविष्टि को कैश कर रहा है। ऐसा इसलिए होता है क्योंकि हम HTTP 301 (स्थायी) रीडायरेक्ट का उपयोग कर रहे हैं, जो क्रोम और फ़ायरफ़ॉक्स जैसे ब्राउज़र डिफ़ॉल्ट रूप से कैश करेंगे।

यदि आप एंडपॉइंट URL को एक अलग ब्राउज़र पर कॉपी और पेस्ट करते हैं (या अपने वर्तमान में कैश को साफ़ करते हैं), तो आपको यह देखने का एक और मौका मिलेगा कि आपकी अपडेट की गई <Hostname>प्रविष्टि आखिरकार सही है या नहीं।

सुरक्षित होने के लिए, यदि आप अपने समापन बिंदु URL और पुनर्निर्देशन नियमों का परीक्षण करना चाहते हैं, तो आपको क्रोम में "गुप्त मोड" जैसे एक निजी ब्राउज़िंग सत्र खोलना चाहिए। गुप्त मोड में एंडपॉइंट यूआरएल की कॉपी, पेस्ट और परीक्षण करें और सत्र बंद करने के बाद कुछ भी कैश नहीं किया जाएगा।


चरण 5: रूट 53 प्रबंधन कंसोल खोलें और अपने होस्ट किए गए क्षेत्र के लिए रिकॉर्ड सेट पर जाएं (डोमेन नाम)

अपने होस्टेड ज़ोन में रिकॉर्ड सेट्स जोड़ने के लिए रूट 53 मैनेजमेंट कंसोल खोलें

  1. होस्टेड ज़ोन (डोमेन नाम) का चयन करें जो आपने अपनी बाल्टी बनाते समय इस्तेमाल किया था। चूंकि मैंने अपनी बाल्टी का नाम "url-redirect-example.vivekmchawla.com" रखा है, इसलिए मैं vivekmchawla.com होस्टेड ज़ोन का चयन करने जा रहा हूं।
  2. "रिकॉर्ड सेट पर जाएं" बटन पर क्लिक करें।

चरण 6: "रिकॉर्ड सेट बनाएँ" बटन पर क्लिक करें

रिकॉर्ड सेट करें बटन पर क्लिक करें

"क्रिएट रिकॉर्ड सेट" पर क्लिक करने से रूट53 प्रबंधन कंसोल के दाईं ओर क्रिएट रिकॉर्ड सेट विंडो खुल जाएगी।


चरण 7: एक CNAME रिकॉर्ड सेट बनाएँ

एक CNAME रिकॉर्ड सेट बनाएं

  1. नाम फ़ील्ड में, अपने S3 बाल्टी का नामकरण करते समय आपके द्वारा उपयोग किए गए URL का होस्टनाम भाग दर्ज करें। URL का "होस्टनाम भाग" आपके होस्ट किए गए ज़ोन के नाम के बाएँ के लिए सब कुछ है। मैंने अपने S3 बाल्टी का नाम "url-redirect-example.vivekmchawla.com" रखा, और मेरा होस्टेड ज़ोन "vivekmchawla.com" है, इसलिए मुझे जिस होस्टनेम भाग में प्रवेश करना है, वह "url-redirect-example" है।

  2. इस रिकॉर्ड सेट के प्रकार के लिए "CNAME - Canonical नाम" चुनें।

  3. मान के लिए, हमने चरण 3 में वापस बनाए गए S3 बाल्टी के समापन बिंदु URL में पेस्ट करें।

  4. "रिकॉर्ड सेट बनाएँ" बटन पर क्लिक करें। यह मानते हुए कि कोई त्रुटि नहीं है, अब आप अपने होस्टेड ज़ोन की रिकॉर्ड सेट की सूची में एक नया CNAME रिकॉर्ड देख पाएंगे।


चरण 8: अपने नए URL को पुनर्निर्देशित करें

एक नया ब्राउज़र टैब खोलें और URL में टाइप करें जिसे हमने अभी सेट किया है। मेरे लिए, वह http://url-redirect-example.vivekmchawla.com है । यदि सब कुछ सही काम किया है, तो आपको सीधे AWS साइन-इन पृष्ठ पर भेजा जाना चाहिए।

चूँकि हमने myaccount.signin.aws.amazon.comअपने रीडायरेक्ट डेस्टिनेशन URL के रूप में उपनाम का उपयोग किया , इसलिए अमेज़ॅन को पता है कि हम किस खाते तक पहुँचने की कोशिश कर रहे हैं, और हमें सीधे वहाँ ले जाता है। यह बहुत आसान हो सकता है यदि आप कर्मचारियों या ठेकेदारों को एक छोटा, स्वच्छ, ब्रांडेड AWS लॉगिन लिंक देना चाहते हैं।

सब कुछ कर दिया!  आपका URL अग्रेषण आपको AWS साइन-इन पृष्ठ पर ले जाना चाहिए।


निष्कर्ष

मुझे व्यक्तिगत रूप से विभिन्न एडब्ल्यूएस सेवाओं से प्यार है, लेकिन अगर आपने डीएनएस प्रबंधन को अमेज़ॅन रूट 53 पर स्थानांतरित करने का फैसला किया है, तो आसान यूआरएल अग्रेषण की कमी निराशाजनक हो सकती है। मुझे आशा है कि इस गाइड ने आपके होस्ट किए गए ज़ोन के लिए URL अग्रेषण को आसान बनाने में मदद की।

यदि आप अधिक जानकारी प्राप्त करना चाहते हैं, तो कृपया AWS डॉक्यूमेंटेशन साइट के निम्नलिखित पृष्ठों पर एक नज़र डालें।

चीयर्स!


15
इस पूरी तरह से स्मार्ट समाधान के लिए +1 - कदम गाइड द्वारा इस तरह के एक महाकाव्य कदम को संकलित करने के लिए समय निकालने के लिए बहुत बहुत धन्यवाद, मैंने भविष्य के पाठकों को आपके अनुसार संदर्भित करने के लिए अपना जवाब अपडेट किया है!
स्टीफन ओपल

23
नोट :: उन लोगों के लिए जो रूट डोमेन पुनर्निर्देशन चाहते हैं: example.org -> example.com - "अलियास: यस" सक्षम के साथ ए रिकॉर्ड को छोड़कर सब कुछ एक जैसा करें। फिर लक्ष्य के रूप में बाल्टी का चयन करें।
जेरेडब्रोड

10
महान समाधान। लेकिन मैं मूल URL के लिए https का उपयोग कर एक समस्या में चला गया हूं। अगर बाल्टी मैं पुनः निर्देशन कर रहा हूँ dev.example.com, http: // dev.example.com के लिए पुनः प्रत्यक्ष महान काम करता है, लेकिन https: // dev.example.com के लिए विफल रहता है। मुझे इस समस्या का हल नहीं मिला है।
ग्रेग

4
@ मुझे लगता है कि अमेज़ॅन S3 के लिए HTTPS को कैसे संभालता है, इसके बारे में कुछ हो सकता है। दुर्भाग्य से, S3 बाल्टी तक पहुंचने के लिए CNAME का उपयोग करते समय, आप SSL को "https" जोड़कर बाध्य नहीं कर सकते, क्योंकि Amazon "* .example.com" के लिए प्रमाणपत्र की मेजबानी नहीं कर रहा है। चूंकि S3 कनेक्शन की अनुमति नहीं देगा, इसलिए हमें कभी भी पुनर्निर्देशित तर्क नहीं मिलता है। दुर्भाग्य से, मैं इसे करने के लिए एक वैकल्पिक हल नहीं देख सकता।
विवेक एम। चावला

17
बकर विकल्पों के तहत एक नया विकल्प "किसी अन्य होस्ट के नाम पर सभी अनुरोधों को पुनर्निर्देशित करना" है। मैंने उर में IAM साइन इन किया और XML की कोई जरूरत नहीं थी।
दान मिलन

145

AWS समर्थन ने एक सरल समाधान बताया। यह मूल रूप से @Vivek एम। चावला द्वारा प्रस्तावित एक ही विचार है, एक अधिक सरल कार्यान्वयन के साथ।

एडब्ल्यूएस एस 3:

  1. अपने पूरे डोमेन के साथ एक बकेट नाम बनाएँ, जैसे aws.example.com
  2. बाल्टी के गुणों पर, Redirect all requests to another host nameअपना URL चुनें और दर्ज करें: https://myaccount.signin.aws.amazon.com/console/

AWS Route53:

  1. एक रिकॉर्ड सेट टाइप बनाएं। ए Yes। उपनाम बदलें को । Alias Targetफ़ील्ड पर क्लिक करें और पिछले चरण में आपके द्वारा बनाए गए S3 बाल्टी का चयन करें।

संदर्भ: अमेज़ॅन वेब सेवाओं का उपयोग करके डोमेन को पुनर्निर्देशित कैसे करें

AWS आधिकारिक दस्तावेज: क्या अमेज़ॅन रूट 53 का उपयोग करके किसी डोमेन को किसी अन्य डोमेन पर पुनर्निर्देशित करने का कोई तरीका है?


16
यह HTTP के लिए बहुत अच्छा काम करता है लेकिन HTTPS के लिए नहीं।
मिथोफैक्लोन

@mythofechelon तुम्हारा क्या मतलब है? मुझे अभी तक https की कोई समस्या नहीं है। यदि आप अपने डोमेन के साथ https का उपयोग करना चाहते हैं (उदाहरण: https: // aws.example.com), तो यह पूरी तरह से अलग समस्या है, क्योंकि ऐसा करने में सक्षम होने के लिए आपको ssl प्रमाणपत्र वाले सर्वर की आवश्यकता होगी।
रॉबर्टो श्नाइडर

1
आधिकारिक दस्तावेज यहां है: aws.amazon.com/premiumsupport/knowledge-center/…
मारियो ओलिवियो फ्लोर्स

2
क्या यह Redirect all requests to another host nameविकल्प अभी भी मौजूद है? जब मैं बाल्टी के गुणों पर जाता हूं तो मैं इसे नहीं देख सकता।
एडन

1
यह सही उत्तर होना चाहिए, CNWS के बजाय प्रदर्शन उद्देश्यों के लिए एएलआईएएस का उपयोग करके AWS के अंदर घटकों को संदर्भित करना बेहतर है (यह काम करता है लेकिन इसका सबसे अच्छा तरीका नहीं है)।
डगलस फिगुएरोआ

11

मैं साइन साइन पेज को 301 पुनर्निर्देशित करने के लिए nginx का उपयोग करने में सक्षम था।

अपने nginx conf फ़ोल्डर में जाएं (मेरे मामले में यह /etc/nginx/sites-availableहै जिसमें मैं /etc/nginx/sites-enabledसक्षम conf फ़ाइलों के लिए एक सिमलिंक बनाता हूं )।

फिर एक रीडायरेक्ट पथ जोड़ें

server {
  listen 80;
  server_name aws.example.com;
  return 301 https://myaccount.signin.aws.amazon.com/console;
}

यदि आप नगनेक्स का उपयोग कर रहे हैं, तो आपके ज़ोन एपेक्स (उदाहरण.कॉम) को संभालने के लिए आपके पास अतिरिक्त सर्वर ब्लॉक (अपाचे शब्दावली में वर्चुएलहोस्ट) होने की संभावना होगी (उदाहरण के लिए) या फिर आपके पास इसका सेटअप है। सुनिश्चित करें कि आपके पास उनमें से एक है जो आपका डिफ़ॉल्ट सर्वर है।

server {
  listen 80 default_server;
  server_name example.com;
  # rest of config ...
}

रूट 53 में, एक को जोड़ने A recordके लिए aws.example.comऔर एक ही अपने क्षेत्र सुप्रीम के लिए इस्तेमाल किया आईपी के लिए मूल्य निर्धारित किया है।


इस मशीन के सामने इलास्टिक लोड बैलेंसर को इंगित करने के लिए एक अलियास रिकॉर्ड का उपयोग करना बेहतर होगा।
maletor

9

अपडेट करें

जबकि नीचे मेरी मूल जवाब अभी भी मान्य है और DNS आधारित URL अग्रेषण के माध्यम से उपलब्ध किया जा रहा है नहीं करने के लिए कारण को समझने के लिए उपयोगी हो सकता है अमेज़न का 53 बॉक्स से बाहर, मैं अत्यधिक बाहर विवेक एम चावला की जांच करने की अनुशंसा पूरी तरह से स्मार्ट अप्रत्यक्ष समाधान के माध्यम से इस बीच शुरू की अमेज़ॅन S3 वेबसाइट पुनर्निर्देश के लिए समर्थन और एक आत्म निहित सर्वर कम प्राप्त कर रहा है और इस तरह केवल AWS के भीतर नि: शुल्क समाधान।

  • इस तरह के रीडायरेक्ट को उत्पन्न करने के लिए एक स्वचालित समाधान को लागू करना पाठक के लिए एक अभ्यास के रूप में छोड़ दिया जाता है, लेकिन कृपया अपने समाधान को प्रकाशित करके विवेक के महाकाव्य उत्तर को श्रद्धांजलि दें;)

मूल उत्तर

Nettica को इसके लिए एक कस्टम पुनर्निर्देशन समाधान चलाना चाहिए, यहाँ समस्या है:

आप इसके लिए एक CNAME उपनाम बना सकते हैं , हालाँकि, DNS इस उदाहरण में उपनिर्देशिका की तरह उपनाम के aws.example.comलिए myaccount.signin.aws.amazon.comकोई आधिकारिक समर्थन प्रदान नहीं करता है console

  • यह अफ़सोस की बात है कि एडब्ल्यूएस डिफ़ॉल्ट रूप से ऐसा करने के लिए प्रकट नहीं होता है जब https://myaccount.signin.aws.amazon.com/मैं मार रहा था (मैंने बस कोशिश की), क्योंकि यह आपको समस्या को तुरंत हल करेगा और पहले स्थान पर बहुत कुछ समझ में आएगा; इसके अलावा, उनके अंत पर कॉन्फ़िगर करना बहुत आसान होना चाहिए।

उस कारण से कुछ DNS प्रदाताओं ने उपनिर्देशिकाओं को पुनर्निर्देशित करने की अनुमति देने के लिए एक कस्टम समाधान को स्पष्ट रूप से लागू किया है; मैं यह अनुमान लगाता हूं कि वे मूल रूप से अपने स्वयं के डोमेन के लिए CNAME उपनाम की सुविधा प्रदान कर रहे हैं और तत्काल HTTP 3xx पुनर्निर्देशन के माध्यम से फिर से अंतिम गंतव्य पर भेज रहे हैं

तो उसी परिणाम को प्राप्त करने के लिए, आपको इन पुनर्निर्देशों को पूरा करने वाली एक HTTP सेवा चलाने की आवश्यकता होगी, जो कि सरल समाधान नहीं है जो एक कोर्स की उम्मीद करेगा। शायद / उम्मीद है कि कोई अभी भी एक चालाक दृष्टिकोण के साथ आ सकता है।


3
CNAME उपनाम हैं, और पुनर्निर्देशित नहीं हैं।
ejain

@ ईजैन - आप निश्चित रूप से सही हैं, मैंने इसे उसी हिसाब से तय किया है (अवश्य ही फिर से अधिसूचना याद कर ली है); इंगित करने के लिए धन्यवाद यह संभावित भ्रामक चेतावनिंग!
स्टेफेन ओपल

0

यदि आप अभी भी सरल दृष्टिकोण के साथ समस्या कर रहे हैं, तो खाली बाल्टी बनाकर Redirect all requests to another host nameकंसोल के माध्यम से गुणों में स्टेटिक वेब होस्टिंग के तहत। सुनिश्चित करें कि आपने मार्ग ए 53 में 2 ए रिकॉर्ड किए हैं, एक के लिए final-destination.comऔर एक के लिए redirect-to.final-destination.com। इनमें से प्रत्येक के लिए सेटिंग्स समान होंगी, लेकिन नाम अलग-अलग होगा इसलिए यह उन नामों से मेल खाता है जिन्हें आप अपने बकेट / URL के लिए सेट करते हैं।

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