आइए डोमेनफैक्ट्री को एन्क्रिप्ट करें

कुछ शेयर्ड होस्टिंग पैकेज जिनमें cPanel शामिल है, उनमें AutoSSL की सुविधा नहीं होती, या फिर यह सुविधा केवल महंगे प्लान में ही उपलब्ध होती है। नतीजतन, आप cPanel इंटरफ़ेस के ज़रिए मुफ़्त Let's Encrypt प्रमाणपत्र जारी नहीं कर सकते, और सभी डोमेन स्व-हस्ताक्षरित प्रमाणपत्र के साथ ही रह जाते हैं। ब्राउज़र पेज को "असुरक्षित" दिखाता है। इसका समाधान: acme.sh का उपयोग करके स्वयं प्रमाणपत्र प्राप्त करें और इसे cPanel UAPI के माध्यम से इंस्टॉल करें – यह स्वचालित रूप से नवीनीकृत हो जाएगा, बिना AutoSSL के।


HTTPS लंबे समय से अनिवार्य है। ऐसे में, यह और भी निराशाजनक हो जाता है जब आपके होस्टिंग पैकेज में मुफ्त प्रमाणपत्र प्राप्त करने का कोई सुविधाजनक तरीका उपलब्ध न हो। ऐसा अक्सर होता है, उदाहरण के लिए सस्ते एंट्री-लेवल पैकेजों में या प्लान बदलने के बाद जब अचानक प्रमाणपत्र शामिल नहीं होता है। हालांकि, शेल में कुछ ही लाइनों के कोड से इस कमी को आसानी से और स्थायी रूप से दूर किया जा सकता है – पूरी प्रक्रिया नीचे बताई गई है।

1. एसएसएच के माध्यम से लॉग इन करें

ssh -p <port> <user>@example.com

2. acme.sh इंस्टॉल करें

curl https://get.acme.sh | sh -s email=me@example.com
source ~/.bashrc

3. Let's Encrypt को CA के रूप में सेट करें।

acme.sh --set-default-ca --server letsencrypt

4. प्रमाणपत्र जारी करें

acme.sh --issue -d example.com -d www.example.com -w ~/public_html

5. इसे cPanel में इंस्टॉल करें

acme.sh --deploy -d example.com --deploy-hook cpanel_uapi

6. जाँच करें

uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
     | openssl x509 -noout -issuer -dates

हुक UAPI के ज़रिए उपयुक्त वर्चुअल होस्ट पर प्रमाणपत्र लिखता है। परिनियोजन सेटिंग्स सहेज ली जाती हैं – अब से, क्रॉन समाप्ति से पहले सब कुछ स्वचालित रूप से नवीनीकृत और स्थापित कर देगा। प्रमाणपत्र जारीकर्ता "लेट्स एनक्रिप्ट" है, और समाप्ति तिथि लगभग 90 दिन बाद है। यदि पुराना, स्व-हस्ताक्षरित प्रमाणपत्र अभी भी दिखाई देता है, तो ब्राउज़र को हार्ड रीलोड करने से आमतौर पर मदद मिलती है – पिछला प्रमाणपत्र अस्थायी रूप से कैश में हो सकता है।

कुछ होस्ट अपने स्वयं के cPanel हुक का उपयोग करते हैं। install_ssl और कुछ इस तरह जवाब देता है adminbin Cpanel/hooks2/...: exit 255. acme.sh अभी भी "सफलतापूर्वक परिनियोजित" रिपोर्ट करता है - और यह सही है। इस मामले में, हुक वास्तविक स्थापना के कारण नहीं, बल्कि किसी बाद के चरण (जैसे होस्टिंग प्रदाता द्वारा आंतरिक सूचना या सिंक कार्य) के कारण विफल हो जाता है।

उम्लाउट वाले डोमेन के लिए, acme.sh प्रमाणपत्र को आंतरिक रूप से पुनीकोड रूप में संग्रहीत करता है (xn--…), जबकि हुक का ऑटो-मैचर यूनिकोड फ़ॉर्म की तुलना करता है। परिणाम: "0 में से 0 साइटों पर तैनात" – कुछ भी इंस्टॉल नहीं हुआ। सबसे खतरनाक बात यह है कि acme.sh भी यहाँ "सफलता" रिपोर्ट करता है, इसलिए इस त्रुटि को आसानी से नज़रअंदाज़ किया जा सकता है। समाधान: सीधे पुनीकोड डोमेन के साथ काम करें और ऑटो-मैचिंग को अक्षम करें।:

python3 -c "import sys;print(sys.argv[1].encode('idna').decode())" hallöle.de
acme.sh --issue -d xn--hallle-zxa.de -d www.xn--hallle-zxa.de -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--hallle-zxa.de --deploy-hook cpanel_uapi

SSH एक्सेस के साथ, आपको AutoSSL की आवश्यकता नहीं है: acme.sh प्रमाणपत्र जारी करता है, जो cpanel_uapi-हुक इसे इंस्टॉल करता है, और इसमें शामिल क्रॉन जॉब इसे स्वचालित रूप से अपडेट करता रहता है। एक बार सेटअप हो जाने के बाद, यह मुफ़्त HTTPS सेवा अपने आप लगातार चलती रहती है। जो लोग शुरू में इसमें मेहनत करते हैं, उन्हें भविष्य में बार-बार मैन्युअल नवीनीकरण करने की ज़रूरत नहीं पड़ती – और वे एक ही कमांड से इसी समाधान को अपने खाते के किसी भी अतिरिक्त डोमेन तक बढ़ा सकते हैं।

वापस