Home Knowledge base Skyline Cloud Let's Encrypt के साथ मुफ्त SSL कैसे सेट करें (ऑटो-रिन्यू) KNOWLEDGE BASE

Let's Encrypt के साथ मुफ्त SSL कैसे सेट करें (ऑटो-रिन्यू)

Certbot का उपयोग करके Nginx पर मुफ्त Let's Encrypt SSL सर्टिफिकेट से अपनी साइट को सुरक्षित करने और systemd के माध्यम से भरोसेमंद ऑटो-रिन्यूअल सेट करने की एक सटीक, चरण-दर-चरण मार्गदर्शिका।

Let's Encrypt के साथ मुफ्त SSL कैसे सेट करें (ऑटो-रिन्यू)

Certbot का उपयोग करके Nginx पर एक मुफ्त Let's Encrypt SSL सर्टिफिकेट से अपनी साइट को सुरक्षित करने की एक सटीक, चरण-दर-चरण मार्गदर्शिका, जिसमें systemd के माध्यम से भरोसेमंद ऑटो-रिन्यूअल भी शामिल है — सऊदी अरब में होस्ट किए गए सर्वरों के लिए।

Let's Encrypt के साथ मुफ्त SSL क्यों

हर सार्वजनिक वेबसाइट को HTTPS की आवश्यकता होती है। ब्राउज़र सादे HTTP पृष्ठों को "Not secure" के रूप में फ़्लैग करते हैं, सर्च इंजन एन्क्रिप्टेड साइटों को प्राथमिकता देते हैं, और PDPL के तहत सऊदी डेटा-संरक्षण अपेक्षाएँ ट्रांज़िट में ट्रैफ़िक को एन्क्रिप्ट करना एक बुनियादी आवश्यकता बना देती हैं। Let's Encrypt एक मुफ्त, स्वचालित, गैर-लाभकारी सर्टिफिकेट अथॉरिटी है जिस पर सभी प्रमुख ब्राउज़र भरोसा करते हैं। आधिकारिक ACME क्लाइंट Certbot के साथ जोड़कर, आप बिना किसी मैनुअल काम और बिना किसी लागत के सर्टिफिकेट जारी और रिन्यू कर सकते हैं।

यह मार्गदर्शिका Nginx (Ubuntu/Debian) पर सर्टिफिकेट इंस्टॉल करने, उसे सत्यापित करने, और — सबसे महत्वपूर्ण — ऐसा रिन्यूअल कॉन्फ़िगर करने को कवर करती है जो टूटे नहीं। रिन्यूअल वाला हिस्सा पहले से कहीं अधिक मायने रखता है: Let's Encrypt सर्टिफिकेट ऐतिहासिक रूप से 90 दिनों के लिए वैध रहे हैं, और उद्योग छोटी अवधियों की ओर बढ़ रहा है (एक 45-दिवसीय प्रोफ़ाइल 2026 में रोल आउट होना शुरू हुई)। मैनुअल रिन्यूअल अब व्यावहारिक नहीं रह गया है, इसलिए स्वचालन अनिवार्य है।

यदि आप Skyline Cloud के साथ किंगडम के भीतर किसी VPS या क्लाउड सर्वर पर होस्ट करते हैं, तो नीचे दिए गए चरण आपके इन-किंगडम सर्वर पर बिना किसी बदलाव के काम करते हैं, जिससे आपका डेटा और आपका TLS टर्मिनेशन दोनों ही सऊदी धरती पर बने रहते हैं।

पूर्वापेक्षाएँ

  • sudo एक्सेस के साथ Ubuntu 22.04/24.04 या Debian चलाने वाला एक क्लाउड सर्वर या VPS।
  • एक डोमेन (उदाहरण के लिए example.com) जिसका DNS A record आपके सर्वर के सार्वजनिक IP की ओर इंगित करता हो। यदि आप Skyline के मैनेज्ड DNS के माध्यम से DNS प्रबंधित करते हैं, तो वहाँ रिकॉर्ड जोड़ें और उसे प्रसारित (propagate) होने दें।
  • Nginx इंस्टॉल हो और आपकी साइट को पोर्ट 80 पर सर्व कर रहा हो।
  • आपके फ़ायरवॉल और किसी भी क्लाउड सिक्योरिटी ग्रुप में पोर्ट 80 और 443 खुले हों।

आगे बढ़ने से पहले सत्यापित करें कि DNS आपके सर्वर पर रिज़ॉल्व होता है:

dig +short example.com

लौटाया गया IP आपके सर्वर के सार्वजनिक IP से मेल खाना चाहिए। अन्यथा डोमेन वैलिडेशन विफल हो जाएगा।

चरण 1 — Certbot इंस्टॉल करें

अनुशंसित तरीका snap पैकेज है, जिसे EFF बनाए रखता है और अद्यतन रखता है:

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

snap के बिना वाले डिस्ट्रीब्यूशन पर, APT पैकेज भी काम करता है:

sudo apt update
sudo apt install certbot python3-certbot-nginx

दोनों ही तरीकों में नीचे उपयोग किया गया Nginx प्लगइन शामिल है।

चरण 2 — सर्टिफिकेट जारी करें

Nginx प्लगइन सर्टिफिकेट प्राप्त करता है और एक ही चरण में HTTPS सक्षम करने के लिए आपके सर्वर ब्लॉक्स को संपादित करता है:

sudo certbot --nginx -d example.com -d www.example.com

Certbot एक ईमेल माँगेगा (जो समाप्ति चेतावनियों और रिकवरी के लिए उपयोग होता है) और आपसे ACME शर्तों से सहमत होने के लिए कहेगा। जब यह पूछे कि HTTP को HTTPS पर रीडायरेक्ट करना है या नहीं, तो Redirect चुनें ताकि सभी ट्रैफ़िक एन्क्रिप्टेड हो।

पर्दे के पीछे, Certbot HTTP-01 challenge का उपयोग करता है: यह /.well-known/acme-challenge/ के अंतर्गत एक टोकन रखता है और Let's Encrypt इसे पोर्ट 80 पर लाकर यह साबित करता है कि आप डोमेन को नियंत्रित करते हैं।

विकल्प: webroot (कोई Nginx संपादन नहीं)

यदि आप चाहते हैं कि Certbot आपके कॉन्फ़िग को न छुए — यह तब आम है जब आपकी TLS सेटिंग्स टेम्पलेटेड या मैनेज्ड हों — तो केवल सर्टिफिकेट प्राप्त करने के लिए webroot विधि का उपयोग करें:

sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

फिर आप अपने Nginx सर्वर ब्लॉक में फ़ाइलों को स्वयं संदर्भित करते हैं:

ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

Nginx को हमेशा live/ पाथ की ओर इंगित करें, कभी भी तारीख-युक्त archive/ फ़ाइलों की ओर नहीं — live/ सिमलिंक्स हर रिन्यूअल पर अपडेट किए जाते हैं।

चरण 3 — सत्यापित करें कि HTTPS काम कर रहा है

Nginx को रीलोड करें और अपनी साइट खोलें:

sudo nginx -t && sudo systemctl reload nginx

https://example.com पर जाएँ। आपको पैडलॉक दिखना चाहिए। कमांड लाइन से सर्टिफिकेट और चेन की पुष्टि करें:

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

यह जारीकर्ता (Let's Encrypt) और वैधता अवधि को प्रिंट करता है।

चरण 4 — ऑटो-रिन्यूअल सेट करें

यह वह चरण है जो रात 3 बजे के आउटेज को रोकता है। Certbot एक निश्चित शेड्यूल के बजाय शेष जीवनकाल के आधार पर रिन्यू करता है, इसलिए रिन्यूअल जाँच को बार-बार चलाना सुरक्षित — और इरादतन — है।

अधिकांश इंस्टॉलेशन पहले से ही एक रिन्यूअल जॉब बना देते हैं। इसकी जाँच करें:

systemctl list-timers | grep certbot

यदि आपको एक certbot.timer दिखती है, तो स्वचालित रिन्यूअल सक्रिय है। डिफ़ॉल्ट रूप से यह Let's Encrypt के सर्वरों पर लोड फैलाने के लिए एक रैंडमाइज़्ड विलंब के साथ दिन में दो बार चलती है। दिन में दो बार चलाना EFF की अपनी सिफ़ारिश है और यह 90-दिवसीय और छोटे 45-दिवसीय दोनों सर्टिफिकेट को आराम से संभालता है।

जारी किए बिना रिन्यूअल का परीक्षण करें

हमेशा एक dry run के साथ पुष्टि करें कि रिन्यूअल पाथ शुरू से अंत तक काम करता है, जो स्टेजिंग एनवायरनमेंट के विरुद्ध रिन्यूअल का अनुकरण करता है:

sudo certbot renew --dry-run

एक सफल dry run का अर्थ है कि वास्तविक रिन्यूअल सफल होंगे।

रिन्यूअल के बाद Nginx को रीलोड करें

एक रिन्यू किया गया सर्टिफिकेट तभी सर्व होता है जब Nginx रीलोड होता है। एक deploy hook जोड़ें ताकि हर रिन्यूअल पर रीलोड स्वचालित रूप से हो:

sudo certbot renew --deploy-hook "systemctl reload nginx"

Certbot इस hook को सर्टिफिकेट के रिन्यूअल कॉन्फ़िगरेशन के साथ सहेजता है, इसलिए आगे के स्वचालित रिन्यूअल आपके लिए Nginx को रीलोड करते हैं। रीलोड graceful होता है, जिससे लाइव कनेक्शनों में लगभग शून्य व्यवधान होता है।

यदि कोई टाइमर मौजूद नहीं है (मैनुअल cron)

बिना पूर्व-कॉन्फ़िगर्ड टाइमर वाले दुर्लभ सिस्टम पर, एक cron एंट्री जोड़ें जो रैंडम स्लीप के साथ दिन में दो बार जाँच चलाए:

echo "0 0,12 * * * root sleep $((RANDOM \% 3600)) && certbot renew -q --deploy-hook 'systemctl reload nginx'" | sudo tee /etc/cron.d/certbot

एक नज़र में रिन्यूअल विधियाँ

विधि कब उपयोग करें Nginx रीलोड करता है
certbot.timer (systemd) अधिकांश सिस्टम पर डिफ़ॉल्ट; पसंदीदा deploy hook के माध्यम से
/etc/cron.d/certbot systemd टाइमर के बिना वाले सिस्टम deploy hook के माध्यम से
मैनुअल certbot renew केवल एक-बार / समस्या निवारण के लिए --deploy-hook जोड़ें

समस्या निवारण

  • Challenge विफल / टाइमआउट: जारी करने के दौरान पोर्ट 80 इंटरनेट से पहुँच योग्य होना चाहिए। अपने फ़ायरवॉल और क्लाउड सिक्योरिटी ग्रुप की जाँच करें।
  • DNS बेमेल: dig +short example.com फिर से चलाएँ और पुष्टि करें कि यह सर्वर IP से मेल खाता है। DNS परिवर्तनों के बाद प्रसार (propagation) के लिए समय दें।
  • Rate limited: Let's Encrypt प्रति डोमेन प्रति सप्ताह सर्टिफिकेट सीमित करता है। परीक्षण के लिए --dry-run का उपयोग करें ताकि आप अपना कोटा न जलाएँ।
  • गलत पाथ सर्व किया गया: सुनिश्चित करें कि Nginx /etc/letsencrypt/live/... को संदर्भित करता है, न कि archive/ को।

समापन

अब आपके पास Nginx पर एक मुफ्त, ब्राउज़र-भरोसेमंद SSL सर्टिफिकेट है जिसका रिन्यूअल बिना किसी निगरानी के चलता है और आपके वेब सर्वर को स्वचालित रूप से रीलोड करता है — जो 90-दिवसीय और नए छोटे सर्टिफिकेट जीवनकाल दोनों के प्रति लचीला है। ईमेल के लिए भी यही सिद्धांत लागू होता है: सुरक्षित मेल ट्रांसपोर्ट भी मायने रखता है, और Skyline business email hosting आपके लिए कॉन्फ़िगर किए गए TLS के साथ आता है। सर्टिफिकेट, चेन और अनुपालन पर गहराई से जानने के लिए, हमारा SSL certificates resource hub देखें।

क्या आप इसे एक तेज़, PDPL-अनुपालक इन-किंगडम सर्वर पर स्थानीय अरबी समर्थन के साथ चलाने के लिए तैयार हैं? अपना Skyline Cloud खाता बनाएँ और आज ही एक सुरक्षित साइट तैनात करें।

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.