Amazon Route53 DNS और S3 के साथ वाइल्डकार्ड सबडोमैन (* .example.com)


12

मैं html फ़ाइलों के लिए DNS और S3 के लिए Amazon Route53 का उपयोग करके एक स्थैतिक वेबसाइट की मेजबानी कर रहा हूं। यह ठीक काम कर रहा है।

वर्तमान सेटअप है:

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

(नोट: example.com और www.example.com S3 बकेट हैं। मेरी HTML फाइलें example.com बकेट में रहती हैं।)

अब मैं इस तरह से एक वाइल्डकार्ड उपडोमेन जोड़ना चाहता हूं - यह वही है जो मैंने कोशिश की:

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

वेबसाइट पर सही तरीके से हल करने के लिए कुछ भी विचार करना है। लेकिन इस पर काम होता नहीं दिख रहा है। इसलिए जब मैं वेबसाइट पर जाता हूं: joker.example.com मैं ब्राउज़र पर त्रुटि संदेश देखता हूं:

Code: NoSuchBucket
Message: The specified bucket does not exist
BucketName: joker.example.com

जवाबों:


10

@ Edvinas.me उत्तर सही है। आपको अपनी बाल्टी के लिए क्लाउडफ़्रंट वितरण बनाना होगा।

जब आप क्लाउडफ्रंट वितरण बनाते हैं तो वैकल्पिक डोमेन नाम विकल्प को * .example.com पर सेट करें।

फिर d3lt3rsz2leycm.cloudfront.net जैसे क्लाउडफ्रंट url का उपयोग करें।

अब आप इस तरह से एक वाइल्डकार्ड उपडोमेन जोड़ सकते हैं:

*.example.com. CNAME  3lt3rsz2leycm.cloudfront.net.    

और काम करना चाहिए।


1

अमेजन S3 बाल्टी नाम निर्धारित करने के लिए होस्ट नाम का उपयोग करता है।

- http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html

होस्ट नाम Host:हेडर में ब्राउज़र द्वारा भेजे गए मूल्य का निचला हिस्सा है। कई होस्टनामों पर प्रतिक्रिया देने के लिए बाल्टी को कॉन्फ़िगर करने का कोई तरीका नहीं है।

इसे पूरा करने के कुछ राउंडअबाउट तरीके हैं, जो आप करने की कोशिश कर रहे हैं, उसके आधार पर, लेकिन यह HAProxy, वार्निश, अपाचे, या कुछ इसी तरह के एक EC2 उदाहरण की आवश्यकता के लिए जा रहा है, या तो वाइल्डकार्ड होस्टनामों के लिए अनुरोधों का जवाब देने के लिए एक पुनर्निर्देशन के साथ। वास्तविक होस्टनाम / बाल्टी नाम के लिए ब्राउज़र के पता बार को फिर से लिखें या अनुरोध हेडर को मून करें और S3 के अनुरोध को प्रॉक्सी करें, जो कि उतना ही अक्षम नहीं है जितना कि यह लग सकता है, क्योंकि S3 और EC2 के बीच डेटा ट्रांसफर शुल्क समान नहीं है। क्षेत्र, और विलंबता कम है।


1

आपका S3 बकेट केवल example.com (और / या www.example.com) के लिए अनुरोध स्वीकार करने के लिए कॉन्फ़िगर किया गया है। आप अपनी बाल्टी को स्वीकार करने के लिए या किसी भी विशिष्ट उप-डोमेन को कॉन्फ़िगर नहीं कर सकते हैं जिसे आप सक्रिय करना चाहते हैं।

जिस तरह से आप यह कर सकते हैं, वह केवल क्लाउडफ्रंट http://aws.amazon.com/cloudfront/ जैसी बाहरी सेवा का उपयोग करके है, जो अनुरोधों को प्रॉक्सी करेगा।

माइकल (sqlbot) के जवाब से लगता है कि इसे और अधिक विस्तार से कवर किया जाएगा।


3
ऐसा कैसे करें - सवाल खुद है।
जस्पर

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