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

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


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 के माध्यम से उपयुक्त vHost को प्रमाणपत्र लिखता है। परिनियोजन सेटिंग सहेजी गई है - अब से क्रॉन समाप्त होने से पहले सब कुछ नवीनीकृत और स्वतंत्र रूप से स्थापित करता है। जारीकर्ता "लेट्स एनक्रिप्ट" है और समाप्ति तिथि भविष्य में लगभग 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 सेवा अपने आप लगातार चलती रहती है। जो लोग शुरू में इसमें मेहनत करते हैं, उन्हें भविष्य में बार-बार मैन्युअल नवीनीकरण करने की ज़रूरत नहीं पड़ती – और वे एक ही कमांड से इसी समाधान को अपने खाते के किसी भी अतिरिक्त डोमेन तक बढ़ा सकते हैं।

वापस