यह पोस्ट उपरोक्त प्रश्न का उपयोग DNS
. का पता लगाने के लिए करेगी , dig
, A
रिकॉर्ड, CNAME
रिकॉर्ड, और ALIAS/ANAME
एक शुरुआत के नजरिए से रिकॉर्ड। तो चलिए शुरू करते हैं।
सबसे पहले, कुछ परिभाषाएं
- डोमेन नाम प्रणाली (डीएनएस):एक मानव यादगार डोमेन नाम (example.com) को एक आईपी पते (93.184.216.34) में बदलने की समग्र प्रणाली। आईपी एड्रेस एक सर्वर का होता है, आमतौर पर एक वेब सर्वर, जहां वेबपेज प्रदर्शित करने के लिए आवश्यक फाइलों को संग्रहीत किया जाता है।
- डीएनएस सर्वर (नाम सर्वर या नेमसर्वर के रूप में भी जाना जाता है):डोमेन पतों के बारे में जानकारी संग्रहीत करने के लिए DNS सॉफ़्टवेयर का उपयोग करता है। कई स्तर हैं - वे प्रत्येक ISP से संबंधित हैं, रूट (दुनिया भर में कुल 13), शीर्ष स्तर डोमेन (TLD, जैसे '.com'), और डोमेन स्तर DNS सर्वर।
- डोमेन नाम :डोमेन (उदाहरण) TLD (.com) के साथ संयुक्त। 'डोमेन' शब्द का प्रयोग अक्सर डोमेन नाम के पर्यायवाची रूप में किया जाता है, हालांकि वे भिन्न होते हैं। जब आप किसी रजिस्ट्रार या पुनर्विक्रेता से 'डोमेन' खरीदते हैं, तो आप एक विशिष्ट डोमेन नाम (example.com) के अधिकार खरीदते हैं, और कोई भी उप डोमेन जिसे आप बनाना चाहते हैं (my-site.example.com, mail.example.com, आदि)।
उच्च स्तरीय क्वेरी प्रवाह
जब आप अपने ब्राउज़र में "example.com" टाइप करते हैं तो क्या होता है इसका उच्च-स्तरीय प्रवाह ISP, रूट और TLD DNS सर्वर पर हॉप्स को हटाने के लिए सरल किया जा सकता है:
एक डोमेन में आमतौर पर दो या दो से अधिक नाम सर्वर होते हैं, जिनमें डोमेन नाम (example.com) से संबंधित रिकॉर्ड होते हैं।
कई प्रकार के रिकॉर्ड संग्रहीत किए जा सकते हैं, जिनमें से अधिकांश में प्रति प्रकार एकाधिक प्रविष्टियां हो सकती हैं:
A
:पता रिकॉर्ड जो डोमेन नाम को आईपी पते पर मैप करते हैंCNAME
:विहित नाम रिकॉर्ड। एक डोमेन नाम (या सबडोमेन नाम) को दूसरे डोमेन नाम के लिए उपयोग किया जाता है। हम इसे बाद में और विस्तार से देखेंगे।MX
:मेल ई-एक्सचेंज रिकॉर्ड जो ईमेल डिलीवरी एजेंटों को बताते हैं कि उन्हें आपका ईमेल कहां पहुंचाना चाहिएTXT
:लचीले टेक्स्ट रिकॉर्ड, विभिन्न उपयोगों के लिए स्ट्रिंग्स को संग्रहीत करने के लिएSOA
:डोमेन के शीर्ष स्तर पर रखा गया प्राधिकरण रिकॉर्ड का एकवचन प्रारंभ। डोमेन के बारे में विशिष्ट आवश्यक जानकारी शामिल है, उदाहरण के लिए इसका प्राथमिक नाम सर्वरNS
:डोमेन से जुड़े नाम सर्वर
जब आपका उपकरण एक क्वेरी भेजता है जो किसी नाम सर्वर तक पहुंचता है, तो सर्वर A
के लिए डोमेन के रिकॉर्ड नोड में दिखता है रिकॉर्ड, और संबद्ध संग्रहीत IP पता (example.com:93.184.216.34)। इसके बाद इसे डिवाइस पर वापस कर दिया जाता है, जिसका उपयोग अनुरोधित वेबपेज या संसाधन को पुनः प्राप्त करने के लिए सही वेब सर्वर को अनुरोध भेजने के लिए किया जाता है।
'डिग' का इस्तेमाल करना
dig
(डोमेन जानकारी ग्रोपर ) DNS सर्वर को क्वेरी करने के लिए एक कमांड-लाइन टूल है। यह आदेश आम तौर पर समस्या निवारण के लिए या सिस्टम के सेटअप के बारे में अधिक समझने के लिए उपयोग किया जाता है।
$ dig example.com
टर्मिनल पर मुद्रित एक लंबी प्रतिक्रिया में परिणाम, डिफ़ॉल्ट आउटपुट यहां विस्तृत है, जिसमें से हम ANSWER SECTION
में रुचि रखते हैं ।
;; ANSWER SECTION:
example.com. 72703 IN A 93.184.216.34
और वहां हम जाते हैं, हम देख सकते हैं कि example.com
एक A
देता है 93.184.216.34
. का रिकॉर्ड . कभी-कभी डोमेन में एक से अधिक A
होंगे रिकॉर्ड, यदि एक से अधिक वेब सर्वर आवश्यक जानकारी प्रदान कर सकते हैं।
अभी और है! यदि हम कुछ अन्य उदाहरणों को आजमाते हैं, तो हम जल्द ही देख सकते हैं कि एक और सामान्य रिकॉर्ड दिखाई देता है:CNAME
।
$ dig www.skyscanner.net
:
;; ANSWER SECTION:
www.skyscanner.net. 169 IN CNAME www.skyscanner.net.edgekey.net.
www.skyscanner.net.edgekey.net. 5639 IN CNAME e11316.a.akamaiedge.net.
e11316.a.akamaiedge.net. 20 IN A 23.217.6.192
www.skyscanner.net.edgekey.net. 5639 IN CNAME e11316.a.akamaiedge.net.
e11316.a.akamaiedge.net. 20 IN A 23.217.6.192
+short
का उपयोग करना ध्वज हमें बनने वाले पथ को स्पष्ट रूप से देखने की अनुमति देता है:
$ dig www.skyscanner.net +short
www.skyscanner.net.edgekey.net.
e11316.a.akamaiedge.net.
23.217.6.192
CNAME
एक CNAME
रिकॉर्ड एक डोमेन नाम को दूसरे कैनोनिकल (सच्चे) डोमेन के लिए उपनाम के रूप में उपयोग करने की अनुमति देता है।
जब DNS सर्वर एक CNAME
returns लौटाता है रिकॉर्ड, यह ग्राहक को वापस नहीं करेगा। बल्कि यह फिर से लौटाए गए डोमेन नाम को देखेगा, और बदले में A
. लौटाएगा रिकॉर्ड का आईपी पता। यह श्रृंखला कई CNAME
जारी रख सकती है स्तर गहरा है, लेकिन फिर कैशिंग होने से पहले एकाधिक लुकअप से मामूली प्रदर्शन हिट का सामना करना पड़ता है।
इसका एक सरल उदाहरण हो सकता है यदि आपके पास एक सर्वर है जहां आप अपनी सभी तस्वीरें रखते हैं। आप इसे सामान्य रूप से photos.example.com
. के माध्यम से एक्सेस कर सकते हैं . हालांकि, हो सकता है कि आप इसे photographs.example.com
. के माध्यम से एक्सेस की अनुमति देना चाहें . इसे संभव बनाने का एक तरीका है CNAME
. जोड़ना रिकॉर्ड जो इंगित करता है photographs
करने के लिए photos
. इसका मतलब है कि जब कोई photographs.example.com
. पर जाता है उन्हें वही सामग्री दी जाएगी जैसे photos.example.com
।
क्वेरी का उपयोग करना $ dig photographs.example.com
हम देखेंगे:
photographs.example.com IN CNAME photos.example.com
photos.example.com IN A xx.xxx.x.xxx
यह नोट करना महत्वपूर्ण है कि CNAME
क्या वह टुकड़ा दाहिने हाथ की ओर है। बाईं ओर उपनाम, या लेबल है।
एक अन्य सामान्य उपयोग www
. के लिए है उप डोमेन example.com
खरीद कर आप शायद उन उपयोगकर्ताओं को भी चाहते हैं जो www.example.com
. टाइप करते हैं समान सामग्री देखने के लिए।
यहां यह ध्यान देने योग्य है कि example.com
शीर्ष, मूल, या नग्न डोमेन नाम कहा जा सकता है।
एक विकल्प यह होगा कि दूसरे A
को सेट किया जाए रिकॉर्ड, उसी आईपी पते की ओर इशारा करते हुए example.com
. के लिए . यह पूरी तरह से मान्य है, और असली example.com
. है करता है, लेकिन यह अच्छी तरह से स्केल नहीं करता है। यदि आपको example.com
. का IP पता अपडेट करने की आवश्यकता है तो क्या होगा इशारा करना? आपको इसे www
. के लिए भी अपडेट करना होगा सबडोमेन, और आपके द्वारा उपयोग किए जा सकने वाले अन्य सभी।
अगर एक CNAME
रिकॉर्ड का इस्तेमाल www.example.com
के उपनाम के लिए किया गया था example.com
को इंगित करने के लिए तब केवल रूट डोमेन को अपडेट करना होगा, क्योंकि अन्य सभी नोड इसे इंगित करते हैं।
CNAME सीमाएं
जिस समय DNS मानक लिखे गए थे, उनके उपयोग को नियंत्रित करने के लिए कुछ नियम निर्धारित किए गए थे। RFC 1912 और RFC 2181 ने निर्धारित किया कि:
SOA
औरNS
रूट डोमेन पर रिकॉर्ड का उपस्थित होना अनिवार्य हैCNAME
रिकॉर्ड केवल एकल रिकॉर्ड के रूप में मौजूद हो सकते हैं और उन्हें किसी अन्य संसाधन रिकॉर्ड के साथ नहीं जोड़ा जा सकता ( DNSSECSIG
,NXT
, औरKEY RR
रिकॉर्ड को छोड़कर)
इसमें एक CNAME
. शामिल नहीं है रूट डोमेन पर उपयोग किया जा रहा है, क्योंकि दो नियम एक दूसरे के विपरीत होंगे।
यहां जो महत्वपूर्ण है वह यह है कि यह एक संविदात्मक सीमा है, तकनीकी नहीं। CNAME
. का उपयोग करना संभव है मूल रूप से, लेकिन इसके परिणामस्वरूप अप्रत्याशित त्रुटियां हो सकती हैं, क्योंकि यह व्यवहार के अपेक्षित अनुबंध को तोड़ रही है।
इसका एक उदाहरण Cloudflare द्वारा बताया गया है, जिसमें उन्होंने CNAME
का उपयोग करने के बाद Microsoft Exchange मेल सर्वर के साथ हुई समस्याओं का वर्णन किया है। उनके रूट डोमेन पर:
डोमेन आमतौर पर उन सर्वरों को निर्दिष्ट करते हैं जो उनके ईमेल को एमएक्स रिकॉर्ड के रूप में जाना जाता है। समस्या यह थी कि एक्सचेंज सर्वर ... CNAME को रूट रिकॉर्ड से उठा सकते थे और फिर MX रिकॉर्ड पर सेट किए गए CNAME का ठीक से सम्मान नहीं कर सकते थे। आप वास्तव में एक्सचेंज को दोष नहीं दे सकते। वे DNS विनिर्देश द्वारा निर्धारित मान्यताओं के तहत काम कर रहे थे।
यहां आप नकारात्मक पक्ष देखते हैं जो कई सर्वर सॉफ़्टवेयर या पुस्तकालयों में दिखाई दे सकता है। क्योंकि CNAME
. के लिए एक मानक मौजूद है केवल केवल . होने के लिए एक नोड पर रिकॉर्ड, कोई अन्य रिकॉर्ड नहीं खोजा जाता है। अन्य सभी रिकॉर्ड को बिना किसी चेतावनी या त्रुटि संदेशों के चुपचाप अनदेखा कर दिया जाएगा। भले ही एक MX
ईमेल प्राप्त करने के लिए रिकॉर्ड सेट किया गया था, MX
अनदेखा कर दिया जाएगा जैसे कि यह मौजूद नहीं है क्योंकि CNAME
पहले मूल्यांकन किया जाता है। वही सच है अगर कोई A
. होता रिकॉर्ड:CNAME
प्राथमिकता होगी और A
रिकॉर्ड पढ़ा नहीं जाएगा।
आधुनिक इंटरनेट
तो यह समस्या क्यों है? आप कभी भी CNAME
का उपयोग क्यों करना चाहेंगे? वैसे भी आपके रूट डोमेन के लिए? आपकी सामग्री को होस्ट करने वाले वेब सर्वर के आईपी पते की तलाश करते समय निश्चित रूप से यह पथ का अंत है?
आधुनिक इंटरनेट परिदृश्य में, अब ऐसा नहीं है। जब DNS मानक लिखे गए थे, तब से दुनिया बहुत अलग है।
आप हरोकू जैसे सेवा प्रदाता के रूप में प्लेटफॉर्म का उपयोग करना चुन सकते हैं और उनके वेब सर्वर पर सामग्री स्टोर कर सकते हैं। आप सामग्री को नियंत्रित करते हैं, लेकिन बुनियादी ढांचे को नहीं, और PaS प्रदाता नेटवर्क रखरखाव का भारी भार उठाता है। वे आम तौर पर आपको एक URL प्रदान करते हैं (my-app.herokuapp.com
) जो उनके मूल डोमेन का एक उप डोमेन है, और आप उस वेब सर्वर के आईपी पते देख सकते हैं जिस पर आपकी सामग्री चालू है। लेकिन ये पूरी तरह से PaS प्रदाता के नियंत्रण में हैं, और बिना किसी चेतावनी के बदल जाएंगे।
Paa प्रदाता द्वारा किए गए बैकएंड परिवर्तनों का पैमाना और आवृत्ति आपके रूट डोमेन को बनाए रखना कठिन बना सकती है A
एकल आईपी पते पर इंगित करने वाला रिकॉर्ड। आदर्श रूप से आप ऐसा करना चाहेंगे:
example.com IN CNAME my-app.herokuapp.com.www.example.com IN CNAME my-app.herokuapp.com.example.com IN CNAME my-app.herokuapp.com.
www.example.com IN CNAME my-app.herokuapp.com.
हेरोकू (या आपके चुने हुए होस्ट प्रदाता) को A
. को अपडेट करने का प्रबंधन करने की अनुमति देने के लिए रिकॉर्ड करें कि CNAME
आपकी ओर से किए गए किसी भी परिवर्तन के बिना इंगित करता है। हालाँकि, जैसा कि अब हम जानते हैं, यह DNS विनिर्देश को तोड़ता है, इसलिए यह एक बहुत ही बुरा विचार है।
example.com
. से केवल 301/302 रीडायरेक्ट को लागू करना संभव है से www.example.com.
हालाँकि, वह निर्देश या तो वेब सर्वर पर होता है (इसलिए अभी भी एक निश्चित A
का उपयोग करने की आवश्यकता की समस्या है। उस वेब सर्वर को इंगित करने के लिए DNS में रिकॉर्ड करें), या एक कस्टम DNS प्रदाता रीडायरेक्ट (जो HTTPS के साथ जटिलताओं से ग्रस्त है)।
यह उस डोमेन को बदलने का भी दुष्परिणाम है जो आप URL बार में देखते हैं, जो शायद आप नहीं चाहते। यह विधि तब के लिए अभिप्रेत है जब आपकी वेबसाइट स्थायी रूप से स्थानांतरित हो गई है, या जब आप एक जटिल बदलते बैकएंड को स्केलेबल तरीके से इंगित करने की हमारी समस्या को हल करने के बजाय एसईओ रैंकिंग को संरक्षित करने का प्रयास कर रहे हैं।
समाधान
कई DNS प्रदाताओं ने अब इस समस्या को हल करने के लिए कस्टम समाधान विकसित किए हैं, जिनमें शामिल हैं:
ALIAS
DNSimple परANAME
DNS मेड ईज़ी परANAME
EasyDNS परCNAME
(आभासी) CloudFlare पर
ये सभी वर्चुअल रिकॉर्ड प्रकार हैं जो CNAME
. प्रदान करते हैं व्यवहार की तरह, किसी भी डाउनसाइड्स के साथ नहीं। सटीक कार्यान्वयन भिन्न हो सकता है, लेकिन उच्च स्तर पर जब DNS सर्वर इन वर्चुअल रिकॉर्ड प्रकारों में से एक को देखता है, तो यह DNS रिज़ॉल्वर के रूप में कार्य करता है। यह उपनाम द्वारा बनाई गई श्रृंखला का अनुसरण तब तक करता है जब तक कि यह A
. पर हल नहीं हो जाता रिकॉर्ड (या रिकॉर्ड) करता है और ये A
लौटाता है DNS सर्वर के लिए रिकॉर्ड। यह CNAME
. को 'समतल' करता है A
. में चेन करें रिकॉर्ड लौटाए गए हैं, और भेजी गई क्वेरी से अप्रभेद्य हैं। क्वेरी केवल एक शुद्ध A
देखती है रिकॉर्ड, जो DNS विनिर्देश को नहीं तोड़ता है, और इसमें CNAME
का कोई नुकसान नहीं है ।
ये आभासी रिकॉर्ड अन्य रिकॉर्ड के साथ बिना किसी अनपेक्षित व्यवहार के डर के जड़ में बैठ सकते हैं। CNAME
. का पालन करते समय प्रदाता की DNS समाधान की विधि पर निर्भर करता है चेन, उन्हें पिछले लुकअप को कैशिंग करने से प्रदर्शन लाभ भी हो सकते हैं।
एक DNSimple सेटअप के लिए, हम तब नीचे के रूप में कॉन्फ़िगर करेंगे। इस समाधान में डोमेन नाम अलियासिंग के सभी फायदे हैं, और इसे रूट स्तर पर उपयोग करने का कोई जोखिम नहीं है।
example.com IN ALIAS my-app.herokuapp.com.www.example.com IN CNAME my-app.herokuapp.com.
पढ़ने के लिए धन्यवाद! ?
हमेशा की तरह, किसी भी सुधार या अतिरिक्त बिंदुओं के लिए खुला है।
संसाधन
- डीएनएस सर्वर क्या है
- एक DNS नाम सर्वर सेट करें
- DNSसाधारण सहायता पृष्ठ और ALIAS ब्लॉग
- क्लाउडफ्लेयर समर्थन और सीएनएन ब्लॉग
dig
कैसे करें- कई बेहतरीन स्टैक ओवरफ़्लो या स्टैक एक्सचेंज पोस्ट
- अच्छी तरह से लिखी गई विकिपीडिया प्रविष्टियाँ
- ब्लॉग को Netlify करें 'www या नहीं www'