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

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


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

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

ssh -p <port> <cpanel-user>@<host>

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

curl https://get.acme.sh | sh -s email=du@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 के ज़रिए उपयुक्त वर्चुअल होस्ट पर प्रमाणपत्र लिखता है। परिनियोजन सेटिंग्स सहेजी जाती हैं – अब से, क्रॉन समाप्ति से पहले सब कुछ स्वचालित रूप से नवीनीकृत और स्थापित करेगा। जारीकर्ता "Let's Encrypt" होना चाहिए, और समाप्ति तिथि लगभग 90 दिन आगे होनी चाहिए। यदि पुराना, स्व-हस्ताक्षरित प्रमाणपत्र अभी भी दिखाई देता है, तो ब्राउज़र को हार्ड रीलोड करने से आमतौर पर मदद मिलती है – पिछला प्रमाणपत्र अस्थायी रूप से कैश में हो सकता है।

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

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

# Punycode-Form der Domain vorher ermitteln (z. B. via idn-Tool oder Online-Konverter)
acme.sh --issue -d xn--<punycode> -d www.xn--<punycode> -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--<punycode> --deploy-hook cpanel_uapi

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

वापस