bg-tutorials

Apache & NGINX पर ACME SSL प्रमाणपत्र कैसे स्थापित करें

यदि आप एक वेब सर्वर चला रहे हैं, तो इसे HTTPS के साथ सुरक्षित करना एक बुनियादी मानक है। ACME (ऑटोमेटेड सर्टिफिकेट मैनेजमेंट एनवायरनमेंट) प्रोटोकॉल के लिए धन्यवाद, आप Certbot जैसे टूल के माध्यम से SSL प्रमाणपत्र जारी करने और नवीनीकरण को स्वचालित कर सकते हैं।

Apache और Nginx पर ACME SSL

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


शुरू करने से पहले

आरंभ करने से पहले, जांचें कि:

  • आपके पास अपने सर्वर पर sudo या रूट एक्सेस है
  • आपका डोमेन नाम DNS के माध्यम से आपके सर्वर के सार्वजनिक IP पते की ओर इशारा करता है
  • पोर्ट 80 और 443 आपके फ़ायरवॉल या क्लाउड प्रदाता सुरक्षा समूह में खुले हैं
  • आपका सिस्टम अद्यतित और समर्थित है

चरण 1 – अपने OS पर Certbot स्थापित करें

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

APT के साथ Ubuntu LTS संस्करण

पैकेज अपडेट करें और अपने पसंदीदा वेब सर्वर प्लगइन के साथ सर्टबॉट इंस्टॉल करें:

अपाचे:

sudo apt update
sudo apt install certbot python3-certbot-apache

एनजीआईएनएक्स:

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

एपीटी समर्थन के साथ डेबियन सिस्टम

उबंटू के समान प्रक्रिया:

sudo apt update
sudo apt install certbot python3-certbot-apache # for Apache
sudo apt install certbot python3-certbot-nginx # for NGINX

डेबियन सिस्टम पर, एपीटी के माध्यम से सर्टबॉट स्थापित करना सबसे सरल विकल्प है। यदि आप स्नैप (नवीनतम संस्करण के लिए) का उपयोग करना पसंद करते हैं, तो नीचे स्नैप अनुभाग तक स्क्रॉल करें।

अल्मालिनक्स या रॉकी लिनक्स (आरएचईएल-संगत)

पहले EPEL रिपॉजिटरी को सक्षम करें:

sudo dnf install epel-release
sudo dnf update

फिर अपनी पसंद के प्लगइन के साथ Certbot स्थापित करें:

अपाचे:

sudo dnf install certbot python3-certbot-apache

एनजीआईएनएक्स:

sudo dnf install certbot python3-certbot-nginx

वैकल्पिक: स्नैप के माध्यम से सर्टबॉट स्थापित करें (सभी सिस्टम)

यदि आप सीधे स्रोत से नवीनतम संस्करण चाहते हैं, तो स्नैप का उपयोग करें।

1. स्नैप स्थापित करें (यदि पहले से स्थापित नहीं है):

sudo apt install snapd # Ubuntu/Debian
sudo dnf install snapd # AlmaLinux/Rocky

2. Certbot स्थापित करें और लिंक करें:

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

वैकल्पिक: पाइप के साथ Certbot स्थापित करें (कस्टम सेटअप के लिए)

यह विधि उन्नत उपयोगकर्ताओं या कस्टम वातावरण के लिए अभिप्रेत है जहां स्नैप या ओएस पैकेज उपलब्ध नहीं हैं। आपको इसका उपयोग केवल तभी करना चाहिए यदि:

  • आप वर्चुअल वातावरण में Certbot चला रहे हैं
  • आप न्यूनतम कंटेनरों के साथ काम कर रहे हैं
  • आपका ओएस स्नैप, एपीटी या डीएनएफ को सफाई से सपोर्ट नहीं करता है

पाइप का उपयोग करके Certbot स्थापित करने के लिए:

python3 -m pip install --upgrade certbot

यह कोर सर्टबॉट टूल स्थापित करता है, लेकिन यह ऑटो-नवीनीकरण सेट नहीं करेगा, और यह अपाचे या एनजीआईएनएक्स प्लगइन्स स्थापित नहीं करता है। आपको मैन्युअल रूप से सब कुछ कॉन्फ़िगर करना होगा

यदि आप सुनिश्चित नहीं हैं कि इसका क्या अर्थ है, तो वापस जाएं और इसके बजाय APT, DNF, या Snap निर्देशों का उपयोग करें।

आप pip का उपयोग करके प्लगइन्स (NGINX एक की तरह) भी स्थापित कर सकते हैं:

python3 -m pip install certbot-nginx

पाइप का उपयोग केवल तभी करें जब आपके सिस्टम वातावरण को पूर्ण नियंत्रण या अलगाव की आवश्यकता हो।


चरण 2 – अपने एसीएमई प्रमाणपत्र का अनुरोध करें और स्थापित करें

दो मुख्य दृष्टिकोण हैं: ईएबी (बाहरी खाता बाध्यकारी) क्रेडेंशियल्स का उपयोग करके पूरी तरह से स्वचालित या प्रदाता-विशिष्ट। दोनों नीचे कवर किए गए हैं।

विकल्प A: पूरी तरह से स्वचालित (मानक ACME)

Certbot को सब कुछ संभालने दें — अपने सर्वर कॉन्फ़िगरेशन का अनुरोध करें, सत्यापित करें, इंस्टॉल करें और पुनः लोड करें।

अपाचे:

sudo certbot --apache

एनजीआईएनएक्स:

sudo certbot --nginx

आपसे पूछा जाएगा:

  • कौन सा डोमेन सुरक्षित करना है
  • सभी HTTP ट्रैफ़िक को HTTPS पर पुनर्निर्देशित करना है या नहीं
  • नवीनीकरण अनुस्मारक के लिए आपका ईमेल

Certbot पर्दे के पीछे सत्यापन और वेब सर्वर कॉन्फ़िगरेशन का ध्यान रखता है।

विकल्प बी: ईएबी के साथ बाहरी एसीएमई प्रदाता (जैसे, सेक्टिगो) का उपयोग करें

यदि आपके प्रदाता को बाहरी खाता बाइंडिंग की आवश्यकता है, तो इस विधि का उपयोग करें:

sudo certbot --nginx \
--non-interactive \
--agree-tos \
--email [email protected] \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--domain example.com \
--domain www.example.com \
--cert-name my-website-cert

अपाचे सेटअप के साथ --apache बदलें--nginx

एसीएमई खाता पंजीकृत करते समय आपको अपने प्रमाणपत्र प्रदाता से और प्राप्त --eab-kid --eab-hmac-key होगा।

विकल्प C: मैन्युअल मोड में Certbot का उपयोग करें

यदि आप नहीं चाहते कि Certbot आपके वेब सर्वर कॉन्फ़िगरेशन को संशोधित करे, या आप एक कस्टम सेटअप का उपयोग कर रहे हैं, तो आप मैन्युअल रूप से प्रमाणपत्र का अनुरोध कर सकते हैं।

वेबरोट विधि का उपयोग करके इसे कैसे करें:

sudo certbot certonly --webroot \
-w /var/www/html \
-d example.com \
-d www.example.com \
--email [email protected] \
--agree-tos \
--non-interactive

  • –certonly Certbot को प्रमाणपत्र जारी करने के लिए कहता है लेकिन इसे स्थापित नहीं करता है
  • -w आपकी वेबसाइट के लिए रूट निर्देशिका निर्दिष्ट करता है (पोर्ट 80 पर सार्वजनिक रूप से सुलभ होना चाहिए)

जारी करने के बाद, मैन्युअल रूप से अपने वेब सर्वर को प्रमाणपत्र फ़ाइलों के साथ कॉन्फ़िगर करें:

/etc/letsencrypt/live/yourdomain.com/

नोट: इस पथ का उपयोग इस बात की परवाह किए बिना किया जाता है कि आप कौन सा ACME प्रदाता चुनते हैं, जब तक कि आप उन्नत झंडे (–config-dir, –work-dir) का उपयोग करके भंडारण निर्देशिका को ओवरराइड नहीं करते।

अपने कॉन्फ़िगरेशन में प्रमाणपत्र पथ लागू करने के बाद अपने वेब सर्वर को पुनः लोड करना सुनिश्चित करें।


चरण 3 – जांचें कि सब कुछ काम करता है

किसी ब्राउज़र में अपने डोमेन पर जाएँ. आपको क्रोम पर सुरक्षित पैडलॉक या सिर्फ सफल पेज लोड देखना चाहिए। दोबारा जाँचने के लिए कि सर्वर चल रहा है:

sudo systemctl status apache2 # Debian/Ubuntu (Apache)
sudo systemctl status httpd # AlmaLinux/Rocky (Apache)
sudo systemctl status nginx # All systems (NGINX)

और टर्मिनल से प्रमाण पत्र का निरीक्षण करने के लिए:

openssl s_client -connect yourdomain.com:443

आउटपुट में मान्य दिनांक और अपने प्रदाता का CA नाम देखें।


चरण 4 – ऑटोमैटिक रिन्यूअल सेट करें

ACME प्रोटोकॉल स्वचालित प्रमाणपत्र नवीनीकरण का समर्थन करता है, और Certbot को अंतर्निहित सिस्टम्ड टाइमर या क्रॉन जॉब के माध्यम से इसे मूल रूप से संभालने के लिए डिज़ाइन किया गया है। हालाँकि, नवीनीकरण व्यवहार आपके प्रमाणपत्र प्रदाता पर निर्भर करता है:

नि: शुल्क सीए (जैसे लेट्स एनक्रिप्ट) 90 दिनों के लिए वैध प्रमाण पत्र जारी करते हैं और लगातार नवीनीकरण जांच का समर्थन करते हैं।

वाणिज्यिक सीए (जैसे सेक्टिगो या डिजिसर्ट) अक्सर एसीएमई के माध्यम से 1 वर्ष के लिए वैध प्रमाण पत्र जारी करते हैं, लेकिन फिर भी एसीएमई नवीनीकरण प्रक्रिया का पालन करते हैं। सर्टबॉट इन्हें स्वचालित रूप से संभालता है, भी, बस कम बार।

जांचें कि नवीनीकरण निर्धारित है

Certbot डिफ़ॉल्ट रूप से एक सिस्टम टाइमर या क्रॉन कार्य सेट करता है। आप पुष्टि कर सकते हैं कि यह इसके साथ सक्रिय है:

systemctl list-timers | grep certbot

यह सुनिश्चित करता है कि सर्टबॉट आपके प्रमाणपत्रों की नियमित रूप से (आमतौर पर दिन में दो बार) जांच करता है और उन्हें केवल तभी नवीनीकृत करता है जब वे नवीनीकरण विंडो के भीतर होते हैं (आमतौर पर समाप्ति से 30 दिन पहले)।


अंतिम शब्द

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

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

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

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

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