bg-tutorials

ACME SSL प्रमाणपत्र त्रुटियों को कैसे ठीक करें

ACME SSL त्रुटियाँ

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


बाहरी खाता बाइंडिंग गुम या अमान्य

यह त्रुटि तब दिखाई देती है जब ACME सर्वर को बाहरी खाता बाइंडिंग (EAB) की आवश्यकता होती है, लेकिन आपके क्लाइंट ने मान्य क्रेडेंशियल्स नहीं भेजे या उन्हें पूरी तरह से छोड़ दिया। ईएबी यह साबित करने का एक तरीका है कि आपको किसी विशेष एसीएमई सर्वर का उपयोग करने की अनुमति है।

इसे कैसे ठीक करें:

  1. अपनी कुंजी आईडी और एचएमएसी कुंजी की दोबारा जांच करें: सुनिश्चित करें कि दोनों सही हैं और बिल्कुल वैसे ही दिए गए हैं। कोई छिपी हुई जगह या लाइन ब्रेक नहीं।
  2. सही ACME निर्देशिका URL का उपयोग करें: कुछ क्लाइंट आपको –server पास करने देते हैं। उत्पादन और स्टेजिंग URL को न मिलाएं।
  3. EAB झंडे जोड़ें: यदि आप उपयोग कर acme.shरहे हैं, तो झंडे इस तरह दिखने चाहिए: –eab-kid –eab-hmac-key
  4. अपने ACME क्लाइंट को अपडेट करें: यदि क्लाइंट पुराना है, तो इसे अपडेट करें। नए संस्करणों में बेहतर EAB समर्थन है।

खाता मौजूद नहीं है

urn:ietf:params:acme:error:accountDoesNotExist त्रुटि तब प्रकट होती है जब आपका ACME क्लाइंट CA को पहचानता नहीं है जो किसी स्थानीय खाता कुंजी (इसके कॉन्फ़िगरेशन फ़ोल्डर में संग्रहीत एक) का उपयोग करने का प्रयास करता है।

सादे शब्दों में, आपका ACME क्लाइंट एक ऐसे खाते को संदर्भित कर रहा है जो मौजूद नहीं है या CA की ओर से हटा दिया गया था। यह आम बात है जब आप क्लाइंट को पुनः इंस्टॉल करते हैं, सर्वर को स्थानांतरित करते हैं, या स्टेजिंग और उत्पादन समापन बिंदुओं के बीच स्विच करते हैं।

इसे कैसे ठीक करें:

1. अपने ACME खाते को फिर से पंजीकृत करें: पंजीकरण करते समय अपने सही बाहरी खाता बाइंडिंग (EAB) क्रेडेंशियल्स का उपयोग करें।
acme.sh के लिए उदाहरण:

acme.sh --register-account \
--server https://acme.your-ca.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]

2. ACME सर्वर URL की जाँच करें: सुनिश्चित करें कि आप अपने ऑर्डर से मेल खाने वाले सही समापन बिंदु के साथ पंजीकरण कर रहे हैं।

3. खाता फ़ाइलों का पुन: उपयोग करने से बचें: सर्वर या क्लाइंट के बीच account.conf या खाता कुंजियों को तब तक न ले जाएं जब तक कि आप 100% सुनिश्चित न हों कि वे एक ही CA और वातावरण के लिए मान्य हैं।


बैड नोन्स या एंटी-रीप्ले त्रुटि

आपके ACME क्लाइंट ने एक nonce (CA से एक बार का टोकन) का उपयोग करके एक अनुरोध भेजा है जो पहले से ही उपयोग किया गया था, समाप्त हो चुका था, या अमान्य था। रीप्ले हमलों को रोकने के लिए सर्वर इसे ब्लॉक कर देता है। urn:ietf:params:acme:error:badNonce आमतौर पर एक अस्थायी समस्या है जो खराब समय, विलंबित अनुरोधों या घड़ी बेमेल के कारण होती है।

इसे कैसे ठीक करें:

1. बस अनुरोध को पुनः प्रयास करें: अधिकांश ACME क्लाइंट (जैसे acme.sh) त्रुटि प्राप्त होने badNonce पर स्वचालित रूप से पुन: प्रयास करेंगे। यदि नहीं, तो अपने अंतिम आदेश को मैन्युअल रूप से फिर से चलाएँ। इसे दूसरे प्रयास पर काम करना चाहिए।

2. अपनी सर्वर घड़ी सिंक करें: एक तिरछा सिस्टम समय रीप्ले त्रुटियों का कारण बन सकता है। चलाना:

timedatectl status
timedatectl set-ntp true

या सुनिश्चित करें ntpd कि ठीक से चल रहा है या चल chronyd रहा है।

3. प्रॉक्सी या सीडीएन देरी की जाँच करें: यदि आप क्लाउडफ्लेयर, लोड बैलेंसर, या धीमे प्रॉक्सी के पीछे हैं, तो यह आपके अनुरोधों को अमान्य करने के लिए पर्याप्त देरी कर सकता है। इसे अस्थायी रूप से दरकिनार करने का प्रयास करें।


अनुरोधित पहचानकर्ता प्रत्यायोजित नहीं किया गया है

जब urn:ietf:params:acme:error:rejectedIdentifier त्रुटि पॉप अप होता है, तो ACME सर्वर एक या अधिक डोमेन नामों को अस्वीकार कर देता है जिसे आपने मान्य करने का प्रयास किया था। यह आमतौर पर इसलिए होता है क्योंकि:

  • डोमेन सार्वजनिक DNS में मौजूद नहीं है
  • आपके सर्वर की ओर इशारा करने वाला कोई DNS रिकॉर्ड नहीं है
  • डोमेन प्रमाणपत्र जारी करने के लिए अधिकृत नहीं है

सीधे शब्दों में कहें, CA यह सत्यापित नहीं कर सकता है कि आप उस डोमेन के मालिक हैं या उसे नियंत्रित करते हैं।

इसे कैसे ठीक करें:

1. अपने कमांड में सही प्रारूप का उपयोग करें: केवल डोमेन नाम शामिल करें। कोई प्रोटोकॉल, स्लैश या पूर्ण URL नहीं।

  • सही: -d example.com
  • गलत: -d http://example.com

2. जांचें कि डोमेन मौजूद है और हल हो गया है। चलाना:

dig example.com +short

यदि कोई आउटपुट नहीं है, तो आपका डोमेन अभी तक लाइव नहीं है, तो पहले अपनी DNS सेटिंग्स ठीक करें।

2. अपने ACME ऑर्डर का मिलान करें: यदि आप एक वाणिज्यिक ACME प्रमाणपत्र का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप जिस डोमेन के लिए जारी कर रहे हैं वह मूल ऑर्डर पर सूचीबद्ध है। आप तुरंत डोमेन नहीं जोड़ सकते. इसे पूर्व-अनुमोदित होना चाहिए।

3. टाइपो और उपडोमेन मिक्सअप से सावधान रहें: www.example.com बनाम example.com जैसी चीजों की दोबारा जांच करें। इन्हें अलग-अलग प्रविष्टियों के रूप में माना जाता है।


अनधिकृत या अमान्य प्रतिक्रिया

प्रमाणपत्र प्राधिकारी आपके डोमेन स्वामित्व की पुष्टि नहीं कर सका. अक्सर, यह ACME चुनौती फ़ाइल तक नहीं पहुंच सकता था जिसे आपके क्लाइंट ने सर्वर पर रखा था। यह एक HTTP सत्यापन समस्या है: CA ने आपकी साइट तक पहुंचने की कोशिश की, लेकिन चुनौती नहीं ढूंढ सका या पढ़ नहीं सका.

सटीक त्रुटि संदेश urn:ietf:params:acme:error:unauthorized है। यह इस प्रकार भी दिखाई दे सकता है: “http://yourdomain.com/.well-known/acme-challenge/ से अमान्य प्रतिक्रिया…”।

इसे कैसे ठीक करें:

  • सुनिश्चित करें कि आपका सर्वर पोर्ट 80 पर पहुंच योग्य है (भले ही आपकी साइट सामान्य रूप से HTTPS पर रीडायरेक्ट करती हो)।
  • अपने ACME क्लाइंट कॉन्फ़िगरेशन में वेबरूट पथ को दोबारा जांचें। चुनौती फ़ाइलों को यहां लिखा जाना चाहिए: /.well-known/acme-challenge/।
  • यदि आपका सर्वर HTTPS रीडायरेक्ट को बाध्य करता है, तो उस पथ के लिए सादे HTTP अनुरोधों को अस्थायी रूप से अनुमति दें।
  • CDNs, रिवर्स प्रॉक्सी या फ़ायरवॉल को अक्षम करें जो CA से बाहरी HTTP सत्यापन में हस्तक्षेप कर सकते हैं।
  • फ़ाइल अनुमतियों की जाँच करें और पुष्टि करें कि चुनौती फ़ाइल वास्तव में बनाई जा रही है और सार्वजनिक रूप से सुलभ है।

टोकन नहीं मिला या फ़ाइल पहुंच योग्य नहीं है (404 या 403)

ACME सर्वर ने HTTP चुनौती फ़ाइल लाने की कोशिश की, लेकिन 404 (नहीं मिला) या 403 (निषिद्ध) प्रतिक्रिया मिली। इसका मतलब है कि फ़ाइल या तो सही ढंग से नहीं रखी गई थी, सार्वजनिक रूप से पहुंच योग्य नहीं है, या आपका वेब सर्वर एक्सेस को अवरुद्ध कर रहा है।

सटीक त्रुटि संदेश भिन्न हो सकते हैं। यहां बताया गया है कि आप क्या देखने की उम्मीद कर सकते हैं:

  • http://yourdomain.com/.well-known/acme-challenge/ से अमान्य प्रतिक्रिया… [404]
  • अमान्य प्रतिक्रिया… [403 निषिद्ध]
  • urn:ietf:params:acme:error:unauthorized

इसे कैसे ठीक करें:

डोमेन के लिए दस्तावेज़ रूट की जाँच करें और सुनिश्चित करें कि यह मेल खाता है जहाँ ACME क्लाइंट फ़ाइल रख रहा है: /.well-known/acme-challenge/

पुष्टि करें कि टोकन फ़ाइल मौजूद है और ब्राउज़र से एक्सेस की जा सकती है। आपको चुनौती URL को सीधे अपने ब्राउज़र में खोलने और टोकन सामग्री देखने में सक्षम होना चाहिए।

सही फ़ाइल अनुमतियाँ सेट करें: ACME चुनौती फ़ाइल और उसके पैरेंट फ़ोल्डर विश्व-पठनीय होने चाहिए।

यदि आप .htaccess नियमों, फ़ायरवॉल, या सुरक्षा प्लगइन्स (जैसे वर्डप्रेस पर) का उपयोग कर रहे हैं, तो सुनिश्चित करें कि वे /.well-known/path तक पहुंच को अवरुद्ध नहीं कर रहे हैं।

यदि आपको 403 मिलता है, तो फ़ाइल स्वामित्व और यदि लागू हो तो SELinux/AppArmor प्रतिबंधों की भी जाँच करें।


सीएए रिकॉर्ड जारी करने से मना करता है

आपके DNS में एक CAA रिकॉर्ड होता है जो प्रतिबंधित करता है कि कौन से प्रमाणपत्र प्राधिकारी आपके डोमेन के लिए प्रमाणपत्र जारी कर सकते हैं. यदि आप जिस CA का उपयोग करने का प्रयास कर रहे हैं वह सूचीबद्ध नहीं है, तो वे डिफ़ॉल्ट रूप से अवरुद्ध हैं। आप निम्न त्रुटि संदेश देख सकते हैं: urn:ietf:params:acme:error:caa

यह एक DNS-स्तर की नीति है, सर्वर समस्या नहीं है। सीए को कोई भी प्रमाणपत्र जारी करने से पहले सीएए की जांच करनी होती है।

इसे कैसे ठीक करें:

CAA रिकॉर्ड के लिए अपने डोमेन के DNS ज़ोन की जाँच करें. आप ऑनलाइन टूल या डिग कमांड का उपयोग कर सकते हैं:

dig CAA yourdomain.com

अगर सीएए का कोई रिकॉर्ड नहीं है, तो कोई भी सीए जारी कर सकता है। लेकिन अगर कोई है, तो सुनिश्चित करें कि इसमें आपके प्रमाणपत्र प्रदाता का सटीक नाम शामिल है जैसे:

  • 0 अंक “sectigo.com”
  • 0 अंक “digicert.com”

अगर आप वाइल्डकार्ड प्रमाणपत्र का इस्तेमाल कर रहे हैं, तो इश्यूवाइल्ड लाइन भी जोड़ें: 0 issuewild “sectigo.com”

DNS प्रसार के लिए कुछ मिनट प्रतीक्षा करें, उसके बाद ACME आदेश का पुन: प्रयास करें। यदि आप अनिश्चित हैं, तो जारी करने का परीक्षण करने के लिए सीएए रिकॉर्ड को अस्थायी रूप से हटा दें, लेकिन केवल तभी जब आप डीएनएस को सुरक्षित रूप से प्रबंधित कर रहे हों।


TXT रिकॉर्ड नहीं मिला (वाइल्डकार्ड प्रमाणपत्रों के लिए)

वाइल्डकार्ड प्रमाणपत्र (जैसे *.example.com) के लिए DNS-01 सत्यापन की आवश्यकता होती है, जो वाइल्डकार्ड डोमेन के लिए सभी CA द्वारा अनुमत एकमात्र विधि है।

DNS-01 आपको DNS में एक विशेष TXT रिकॉर्ड बनाने के लिए कहकर काम करता है: _acme-challenge.example.com

यदि यह रिकॉर्ड अनुपलब्ध है या अभी तक प्रचारित नहीं हुआ है, तो आपको यह त्रुटि मिलेगी।

त्रुटि उदाहरण:

  • urn:ietf:params:acme:error:dns :: DNS समस्या: NXDOMAIN _acme-challenge.example.com के लिए TXT देख रहा है
  • _acme-challenge.example.com के लिए TXT रिकॉर्ड नहीं मिला

इसे कैसे ठीक करें:

अपने DNS प्रदाता में, एक TXT रिकॉर्ड बनाएँ:

  • नाम: _acme-challenge.example.com
  • मूल्य: (आपका ACME क्लाइंट आपको जो टोकन देता है; प्रति अनुरोध अद्वितीय)

DNS के प्रचार के लिए 1-10 मिनट प्रतीक्षा करें। कुछ प्रदाताओं को अधिक समय लगता है। निम्न आदेश के साथ पुष्टि करें।

dig TXT _acme-challenge.example.com

आप एक ऑनलाइन DNS लुकअप टूल का भी उपयोग कर सकते हैं। एक बार दिखाई देने पर, सत्यापन का पुनः प्रयास करें।


बहुत अधिक अनुरोध या दर सीमा पार हो गई है

त्रुटि urn:ietf:params:acme:error:rateLimited या 429 बहुत अधिक अनुरोध के रूप में प्रकट होता है जब ACME सर्वर आपके अनुरोध को संसाधित करने से इनकार कर रहा है क्योंकि आप एक दर सीमा हिट कर चुके हैं।

यह आमतौर पर तब होता है जब आप एक ही डोमेन के लिए बहुत अधिक प्रमाणपत्रों का अनुरोध करते हैं या आप एक पंक्ति में बहुत अधिक विफल अनुरोध भेजते हैं।

इसे कैसे ठीक करें:

आपके द्वारा हिट किए गए डेटा के आधार पर अधिकांश दर सीमाएं एक घंटे, एक दिन या एक सप्ताह के बाद स्वचालित रूप से रीसेट हो जाती हैं. यदि स्क्रिप्ट का उपयोग कर रहे हैं, तो लॉग की जांच करें और पुनः प्रयास करने से पहले त्रुटियों को ठीक करें। आँख बंद करके क्रूर बल न करें, यह सिर्फ तालाबंदी को और खराब करता है।

DNS-01 मान्यताओं के लिए, छोटे TXT रिकॉर्ड गलतियों के बाद तेजी से पुन: अनुरोध से बचें। DNS प्रसार की प्रतीक्षा करें। यदि आपका CA दर सीमा स्थिति पृष्ठ या हेडर प्रदान करता है, तो अधिक सटीक रीसेट समय के लिए उनकी जांच करें।


DNS त्रुटियाँ या लुकअप विफलताएँ

यदि आपको “DNS समस्या: NXDOMAIN example.com के लिए A देख रहा है” या “नाम समाधान में अस्थायी विफलता” जैसे संदेश प्राप्त करते हैं, तो इसका मतलब है कि ACME सर्वर आपके डोमेन नाम को हल नहीं कर सका, क्योंकि डोमेन मौजूद नहीं है, अभी तक प्रचारित नहीं है, या कोई मान्य IP रिकॉर्ड नहीं है।

प्रमाणपत्र प्राधिकरण यह सत्यापित करने के लिए DNS पर निर्भर करता है कि आपका डोमेन मौजूद है और कहीं वास्तविक इंगित करता है। यदि यह आपके A (IPv4) या AAAA (IPv6) रिकॉर्ड तक नहीं पहुंच सकता है, तो यह सत्यापन प्रक्रिया को रोक देगा।

ऐसा हो सकता है यदि:

  • आपका डोमेन बिल्कुल नया है और DNS पूरी तरह से प्रचारित नहीं हुआ है
  • आप सही DNS रिकॉर्ड्स जोड़ना भूल गए
  • आप किसी ऐसे स्थानीय या आंतरिक नेटवर्क में कार्य कर रहे हैं जहाँ कोई सार्वजनिक DNS दृश्यता नहीं है
  • आपके द्वारा सबमिट किए गए डोमेन नाम में एक टाइपो है

इसे कैसे ठीक करें:

  • दोबारा जाँच करें कि आपके डोमेन में आपके लाइव सर्वर की ओर इशारा करते हुए मान्य A या AAAA रिकॉर्ड हैं.
  • प्रसार की पुष्टि करने के लिए dig , nslookup, या ऑनलाइन चेकर्स (जैसे whatsmydns.net) जैसे टूल का उपयोग करें।
  • सुनिश्चित करें कि आप केवल निजी या आंतरिक डोमेन का उपयोग नहीं कर रहे हैं. ACME सत्यापन केवल सार्वजनिक रूप से हल करने योग्य नामों के लिए काम करता है।
  • DNS परिवर्तन के बाद कुछ मिनट प्रतीक्षा करें; वे हमेशा तुरंत लाइव नहीं होते हैं।

ACME सर्वर से कनेक्ट नहीं किया जा सका

यह गड़बड़ी तब दिखाई देती है, जब आपका सर्वर ACME API एंडपॉइंट तक नहीं पहुंच पाता है. यह कनेक्शन अस्वीकृत, कनेक्ट के दौरान टाइमआउट, कनेक्ट नहीं हो सका, या ACME क्लाइंट के आधार पर समान संदेश के रूप में दिखाई दे सकता है।

इसे कैसे ठीक करें:

  • सुनिश्चित करें कि आपका सर्वर पोर्ट 443 पर आउटबाउंड HTTPS कनेक्शन की अनुमति देता है।
  • फ़ायरवॉल सेटिंग्स या आउटबाउंड नेटवर्क नियमों की जाँच करें (विशेष रूप से क्लाउड/वीपीएस सेटअप में)।
  • यदि आप किसी प्रॉक्सी का उपयोग करते हैं, तो CA के ACME सर्वर डोमेन के लिए ट्रैफ़िक की अनुमति दें।
  • पुष्टि करें कि आपके सर्वर में एक कार्यशील DNS रिज़ॉल्वर है।
  • इसके साथ कनेक्टिविटी का परीक्षण करें: कर्ल https://acme.example.com (अपने सीए के वास्तविक समापन बिंदु के साथ बदलें)।
  • नेटवर्क समस्याओं को हल करने के बाद अपने ACME क्लाइंट को पुनरारंभ करें।

नवीनीकरण के बाद स्क्रिप्ट विफल रही

यह त्रुटि एक सफल प्रमाणपत्र नवीनीकरण के बाद दिखाई देती है जब आपके वेब सर्वर या सेवा को पुनः लोड करने के लिए अनुवर्ती स्क्रिप्ट ठीक से नहीं चली। आपके ACME क्लाइंट के आधार पर, आपको “पोस्ट-हुक त्रुटि”, “परिनियोजन स्क्रिप्ट विफल”, या “कमांड नहीं मिला” जैसे संदेश दिखाई दे सकते हैं।

इसे कैसे ठीक करें:

  • यह देखने के लिए कि क्या टूटता है, अपनी नवीनीकरण के बाद की स्क्रिप्ट को मैन्युअल रूप से चलाएँ.
  • फ़ाइल पथ की जाँच करें, विशेष रूप से नए प्रमाणपत्र और कुंजी के लिए।
  • सुनिश्चित करें कि स्क्रिप्ट में निष्पादन अनुमतियाँ हैं (उदाहरण के लिए, chmod +x script.sh)।
  • टाइपो, अनुपलब्ध निर्भरताओं, या गलत कमांड सिंटैक्स की तलाश करें।
  • यदि आप एक परिनियोजन हुक या पोस्ट-हुक का उपयोग कर रहे हैं, तो पुष्टि करें कि क्लाइंट इसका समर्थन करता है और यह ठीक से कॉन्फ़िगर किया गया है।

अंतिम शब्द

हमने सबसे आम ACMS SSL प्रमाणपत्र त्रुटियों को कवर किया है और त्वरित सुधार दिए हैं। यदि इनमें से कोई भी आपकी समस्या का समाधान नहीं करता है, तो अपने ACME क्लाइंट को डीबग मोड में चलाएँ। जब आप लॉगिंग सक्षम करते हैं तो अधिकांश क्लाइंट अधिक विस्तृत आउटपुट देंगे। यह जानकारी वास्तविक कारण की पहचान करने और आपके एसएसएल को फिर से काम करने में मदद कर सकती है।

आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!

तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

उड़ान में एक ड्रैगन की एक विस्तृत छवि
द्वारा लिखित

एसएसएल प्रमाणपत्रों में विशेषज्ञता वाला अनुभवी सामग्री लेखक। जटिल साइबर सुरक्षा विषयों को स्पष्ट, आकर्षक सामग्री में बदलना। प्रभावशाली आख्यानों के माध्यम से डिजिटल सुरक्षा को बेहतर बनाने में योगदान करें।