CNAME और TXT के बीच टकराव के कारण प्रमाणपत्र आवेदन में समस्या
Categories:
एक ही उपसर्ग वाले CNAME और TXT एक साथ नहीं रह सकते
डोमेन के साथ खेलने वाले लोगों को पता होगा कि (A,AAAA) रिकॉर्ड CNAME के साथ नहीं रह सकते हैं, लेकिन शायद ही कभी TXT और CNAME के बीच टकराव की स्थिति का सामना किया होगा।
किस परिस्थिति में TXT और CNAME एक ही उपसर्ग का उपयोग करते हुए एक साथ उपयोग किया जा सकता है?
एक परिदृश्य है - LetsEncrypt प्रमाणपत्र के आवेदन में, DNS-01 चुनौती का उपयोग करके डोमेन के स्वामित्व की पुष्टि करना।
- Certbot एक acme-challenge.example.com टीएक्सट रिकॉर्ड बनाने के लिए ackey और acsecret या टोकन का उपयोग करता है।
- Letsencrypt टीएक्सट रिकॉर्ड के लिए प्रश्न करता है, यह सुनिश्चित करने के लिए कि आवेदक DNS रिकॉर्ड बना सकता है, डोमेन के स्वामित्व को साबित करता है।
- Letsencrypt प्रमाणपत्र जारी करता है।
- Certbot एक acme-challenge.example.com टीएक्सट रिकॉर्ड की सफाई करता है।
यदि एक टीएक्सट रिकॉर्ड बनाते समय, एक acme-challenge.example.com का एक सीएनएमई रिकॉर्ड पहले से मौजूद होता है, तो टीएक्सट रिकॉर्ड बनाने में विफल हो सकता है, जिससे डोमेन चुनौती की पुष्टि विफल हो सकती है।
एक acme-challenge.example.com सीएनएमई रिकॉर्ड क्यों होता है?
अलीबाबा क्लाउड के नए ESA (एज सिक्योरिटी एक्सेलरेटर), क्लाउडफ्लेयर के समान, पहले DCDN वेबसाइट एक्सेलरेटर का नाम बदलकर बनाया गया है। प्रारंभिक उपयोग में, यह वाइल्डकार्ड डोमेन प्रमाणपत्र के स्वयं सेवा आवेदन का समर्थन नहीं करता था, मैंने अपने द्वारा आवेदन किए गए वाइल्डकार्ड डोमेन प्रमाणपत्र को ऊपर अपलोड करने के लिए स्क्रिप्ट का उपयोग किया था, जिसका प्रबंधन करना थोड़ा असुविधाजनक था। बाद में, DVC (Domain Control Validation) का संपादन आया, जो वाइल्डकार्ड डोमेन प्रमाणपत्र के स्वयं सेवा आवेदन और अपडेट की अनुमति देता है, निर्देशों का पालन करके, वास्तव में वाइल्डकार्ड डोमेन प्रमाणपत्र का स्वयं सेवा प्रबंधन किया जा सकता है। लेकिन कुछ महीनों बाद खुलासा हुआ कि एक खतरनाक खतरा था। यह सीएनएमई रिकॉर्ड निरंतर रहता है, जिससे उसी उपसर्ग वाले टीएक्सट रिकॉर्ड को बनाना असंभव हो जाता है, जिससे मैं अन्यत्र डोमेन के स्वामित्व को साबित नहीं कर सकता।

समाधान
समाधान 1:托管 DVC का उपयोग न करें
托管 DVC की आवश्यकता है कि acme-challenge.example.com एक निर्दिष्ट मान में लिखा जाए, यह वस्तुतः घोषणा करता है कि डोमेन तृतीय पक्ष का है, और अब आपके पास उस डोमेन का नियंत्रण नहीं है।
यदि आपको वाइल्डकार्ड डोमेन चाहिए, तो आप टास्क स्क्रिप्ट का उपयोग करके ESA API को कॉल कर सकते हैं, नियमित रूप से वाइल्डकार्ड डोमेन प्रमाणपत्र को ESA पर अपलोड कर सकते हैं।
समाधान 2: DNS-01 का उपयोग करके डोमेन स्वामित्व की पुष्टि न करें
Certbot कई डोमेन स्वामित्व पुष्टि (चुनौती) विधियाँ प्रदान करता है। DNS-01 के अलावा, HTTP-01 और TLS-ALPN-01 जैसी विधियाँ भी हैं।
HTTP-01 और TLS-ALPN-01 विधियों को प्रमाणपत्र देने से पहले सेवा की आवश्यकता होती है, जिससे उपलब्धता की पुष्टि होती है।
DNS-01 का उपयोग सेवा स्थापित करने से पहले प्रमाणपत्र प्राप्त करने के लिए किया जा सकता है।
समाधान 3: ESA और डीएनएस रिज़ॉल्वर के बीच व्यवसाय दीवार तोड़ें
ये दोनों सेवाएँ अलीबाबा क्लाउड के अधीन हैं, लेकिन अपने-अपने DNS API का कार्यान्वयन करती हैं। यदि ESA डीएनएस रिज़ॉल्वर में सीएनएमई या टीएक्सट रिकॉर्ड सेट करने, प्रमाणपत्र प्राप्त करने और रिकॉर्ड हटाने के लिए स्वयं सेवा कर सकता है, तो यह अन्य स्थानों पर DNS-01 चुनौती के उपयोग को प्रभावित नहीं करेगा।
समाधान 4: अलीबाबा ESA का उपयोग न करें
Cloudflare पर ऐसा नहीं है, प्रमाणपत्र आसानी से मिल जाते हैं।