अगर आप अपनी वर्डप्रेस वेबसाइट को Nginx Server या Nginx Proxy Server पर चला रहे हैं। और आपको उसे SSL certificate के जरिए सिक्योर करने की आवश्यकता है। और आप यह चाहते हैं कि इसके लिए आपको चिंता ना करना पड़ेगी यह अपने आप ऑटो रिनुअल भी हो जाए। तो आज के हमारे इस लेख में हम इसी बारे में बात करेंगे और आप सुबह को दिया ट्यूटोरियल सिखाएंगे कि आप किस तरह से Install Let’s Encrypt SSL Certificate in Nginx With Auto Renewal Hindi।
अगर आप इंटरनेट पर बहुत सी वेबसाइट को ब्राउज करते हैं तो आप यह पाएंगे कि अधिकांश वेबसाइट इंटरनेट पर अपने उपयोगकर्ताओं से जानकारी इकट्ठा करती है, चाहे वह कॉन्टैक्ट फॉर्म हो, न्यूज़ लेटर, या फिर किसी वेबसाइट की सदस्यता या फिर बिक्री का कोई माध्यम हो। विशेष रुप से यदि आप की वेबसाइट पर ऑनलाइन लेनदेन होता है तो आखिरी चीज जो आप चाहते हैं वह यह है कि आपके ग्राहक का क्रेडिट कार्ड या अन्य व्यक्तिगत जानकारी चोरी ना हो जाए। ऐसी स्थिति में SSL certificate की बात आती है।
इंटरनेट पर मौजूद अधिकांश वेबसाइट अपने उपयोगकर्ताओं को सुरक्षा प्रदान करने के लिए SSL certificate का इस्तेमाल करती है। एक एसएसएल सर्टिफिकेट या प्रमाण पत्र केवल व्यवसायिक वेबसाइटों के लिए ही नहीं बल्कि सुरक्षा की एक अतिरिक्त पद से किसी भी प्रकार की वेबसाइट को लाभ होता है। एक एस एस एल प्रमाण पत्र ना केवल ग्राहक डेटा की सुरक्षा सुनिश्चित करने में मदद करता है, बल्कि यह खोज इंजन यानी कि सर्च इंजन परिणामों और उनकी विश्वसनीयता पर साइट की स्थिति में भी सुधार लाता है। गूगल द्वारा सभी वेबसाइट पर एसएसएल सर्टिफिकेट होना अनिवार्य कर दिया गया है। अच्छा है अगर आप गूगल पर अच्छा रैंकिंग हासिल करना चाहते हैं तो भी आपको अपने वेबसाइट के लिए एसएसएल सर्टिफिकेट का उपयोग करना अनिवार्य होगा।
What is SSL certificate? एसएसएल सर्टिफिकेट क्या है?
अगर एसएसएल सर्टिफिकेट को तकनीकी भाषा में परिभाषित किया जाए तो वहां एक डाटा फाइल होती है जो कि आपकी वेबसाइट के वेब सर्वर पर होस्ट की जाती है। यह फाइल आपके वेब सर्वर और आपकी वेबसाइट के उपयोगकर्ताओं के वेब ब्राउज़र के बीच में होने वाले संचार को इंक्रिप्शन के माध्यम से सुरक्षित बनाए रखता है।
अधिक टेक्निकल भाषा में कहा जाए तो, एक SSL प्रमाण पत्र आपके वेब सर्वर और वेबसाइट के उपयोगकर्ताओं के बीच होने वाले डाटा के सहयोग प्रदान को सुरक्षित बनाता है।
जब भी आप अपने इंटरनेट ब्राउजर पर किसी वेबसाइट को खोलते हैं तो उस वेबसाइट के शुरुआत में आपको https:// लिखा हुआ दिखाई देगा। यह https:// और इसके सामने हरे रंग का एक लॉक बटन होगा। झूझा दर्शाता है कि आपकी वेबसाइट एसएसएल सुरक्षित वेबसाइट है। अगर मैं अपनी वेबसाइट पर एसएसएल सर्टिफिकेट का इस्तेमाल नहीं करूंगा जो मेरी वेबसाइट के नाम के आगे आप केवल http:// लिखा हुआ देख पाएंगे। आज मेरी वेबसाइट अनसिक्योर्ड दिखाई देगी।
इंटरनेट पर मौजूद किसी भी वेबसाइट पर अगर एसएसएल सर्टिफिकेट इंस्टॉल होगा तो वह आपके डाटा को सुरक्षित एवं इंक्रिप्टेड रखता है। तो इस तरह से किसी भी इंटरनेट उपयोगकर्ता से संबंधित जानकारी उस डाटा सर्वर तक इंक्रिप्टेड माध्यम में पहुंचाई जाती है। जिससे कि कोई तीसरा व्यक्ति जैसे कि कोई है तो उस वेबसाइट पर आपके द्वारा भरे जाने वाले कॉन्टैक्ट फॉर्म या आपकी क्रेडिट कार्ड या डेबिट कार्ड की जानकारी हेक नहीं कर पायेगा।
हमने यहां पर, आप सभी लोगों को एसएसएल सर्टिफिकेट किस तरह से आपके वेबसाइट के लिए सुरक्षित वातावरण बनाता है इस बारे में हमने बताया। लेकिन हम यहां पर आप सभी लोगों को इस बारे में जानकारी उपलब्ध करेंगे कि आप किस तरह से Install Let’s Encrypt SSL Certificate in Nginx With Auto Renewal Hindi , असल में लेट्स इंक्रिप्ट एक ओपन सोर्स एसएससी सर्टिफिकेट प्रदान करने वाली कंपनी है। इसकी अधिकतम वैलिडिटी 90 दिन या 3 महीनों की होती है। जिससे कि आपको उसने हर 3 महीने में रिनुअल करने की जरूरत है। लेकिन अगर आप Nginx Server पर अपने वेबसाइट को चला रहे हैं तो हम एक ऐसे तरीके के बारे में आप सभी लोगों को जानकारी यहां उपलब्ध कराएंगे जिससे कि आपको इस झंझट से मुक्ति मिल सकती है। आपके वेबसाइट पर एसएस लेट्स इंक्रिप्ट की सर्टिफिकेट ऑटोमेटिक रिनुअल हो जाएगा।
Install Let’s Encrypt SSL Certificate in Nginx With Auto Renewal Hindi
ट्यूटोरियल के लिए हम एक Ubuntu 20.04 Server , ले रहे हैं। साथ में आपके पास में एक रजिस्टर्ड डोमेन नेम होना बेहद जरूरी है। इसके लिए आप अपने वर्डप्रेस वेबसाइट डोमेन का इस्तेमाल कर सकते हैं। DNS SERVER, को आप सेटअप करने की भी जरूरत पड़ेगी। जिसमें A record आपके डोमेन को पॉइंट करना चाहिए जैसे कि example.com , A record पॉइंट www.example.com यह दोनों शर्तें पूरी हो जाने के बाद आप सीधे अपने वेब सर्वर के टर्मिनल पर SSH के माध्यम से लॉगिन हो जाइए।
अब आपको को अपने वर्चुअल प्राइवेट सर्वर के टर्मिनल पर निम्नलिखित कमांड को चलाना होगा।
# sudo apt install certbot python3-certbot-nginx
यह पहला स्टेप है जिसमें आप Certbot को अपने वर्चुअल प्राइवेट सर्वर पर इंस्टॉल करेंगे ताकि आपका वर्चुअल प्राइवेट सर्वर लेट इंक्रिप्ट द्वारा जारी किए जाने वाले SSL certificate को जारी कर सके। एक बार यह वेब सर्वर सॉफ्टवेयर आपके वर्चुअल प्राइवेट सर्वर पर इंस्टॉल हो जाए गा। तो आपके वर्चुअल प्राइवेट सर्वर पर एसएसएल सर्टिफिकेट के लिए तैयार है। हां लेकिन इसे ऑटोमेटिकली आपके वेब सर्वर पर एसएसएल सर्टिफिकेट को रिनुअल करने के लिए कुछ कंफीग्रेशन को अपग्रेड करने की भी जरूरत है। इसके लिए आप निम्नलिखित चीजों पर बदलाव करेंगे। आप अपने Nginx Server पर मौजूद वर्चुअल होस्ट की फाइल को एडिट करना होगा। जिसे आप निम्नलिखित कमांड द्वारा कर सकते हैं।
# sudo nano /etc/nginx/sites-available/example.com
अगर आप, Nginx Proxy Server का इस्तेमाल कर रहे हैं तो आपको यह फाइल एडिट करने की आवश्यकता होगी।
# nano /etc/nginx/conf.d/example.com.conf
इन दोनों फाइल को ओपन करने के बाद आपको यहां पर server_name वाली लाइन खोजनी है। अगर वहां पर आईपी एड्रेस दो डाला हुआ होगा तो आप उसे बदल कर के अपने डोमेन का नाम यानी कि इस तरह से कुछ डालेंगे।
...
server_name example.com www.example.com;
...
इसके बाद आप फाइल को सेव कर ले और इससे बाहर निकल जाए। आपने सभी चीजों को सही तरीके से ठीक किया है या जाने के लिए आप अपने टर्मिनल पर यह कमांड डालेंगे।
# sudo nginx -t
अगर किसी भी तरह की गड़बड़ी नहीं है तो यह चीज आपको सक्सेसफुल (successful) का मैसेज दिखाएगा। इसके बाद आप निम्नलिखित कमांड डाल कर के अपने Nginx Server को रीस्टार्ट करने की जरूरत है।
# sudo systemctl restart nginx
आगे बढ़ने से पहले आप यह भी जांच लें कि आपका वर्चुअल प्राइवेट सर्वर का firewall, https यानी कि पोर्ट 443 enable होना चाहिए। ऐसा इसलिए क्योंकि https केवल पोर्ट 443 पर ही उत्तर देता है। इसके लिए आप निम्नलिखित कमांड डाल कर के अपने वर्चुअल प्राइवेट सर्वर पर यह जांच सकते हैं।
# sudo ufw status
इसके बाद आपको कुछ इस तरह से आउटपुट दिखाई देगा। अगर यह http पर है तो आपको इसे बदलने की जरूरत है।
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6) ALLOW
Nginx HTTP (v6) ALLOW
Https को एनेबल करने के लिए आप अपने टर्मिनल पर निम्नलिखित कमांड डालेंगे। जिसके बाद आप फिर से इस केस स्टेटस को चेक कर सकते हैं।
# sudo ufw allow 'Nginx Full'
# sudo ufw delete allow 'Nginx HTTP'
# sudo ufw status
इसके बाद में आपको आपके firewall के स्टेटस के बारे में बताया जाएगा जो पूरी तरह से https पर चेंज हो चुका है।
Output
Status: active
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
अब आखिरी में हमें certbot को run करने की जरूरत है ताकि हमारे वेबसाइट पर एसएसएल सर्टिफिकेट इंस्टॉल हो सके इसके लिए हम अपने टर्मिनल में यह कमांड डालेंगे।
# sudo certbot --nginx -d example.com -d www.example.com
आपके डोमेन नेम पर एसएसएल सर्टिफिकेट इंस्टॉल हो जाने के बाद कुछ इस तरह का मैसेज आपके पास सफलतापूर्वक एसएसएल सर्टिफिकेट इंस्टॉल होने के बारे में बताएगा।
लेट्स एनक्रिप्ट के सर्टिफिकेट केवल नब्बे दिनों के लिए वैध होते हैं। यह उपयोगकर्ताओं को उनकी प्रमाणपत्र नवीनीकरण प्रक्रिया को स्वचालित करने के लिए प्रोत्साहित करने के लिए है। हमारे द्वारा स्थापित प्रमाणपत्र पैकेज एक सिस्टमड टाइमर जोड़कर हमारे लिए इसका ख्याल रखता है जो दिन में दो बार चलेगा और समाप्ति के तीस दिनों के भीतर किसी भी प्रमाणपत्र को स्वचालित रूप से नवीनीकृत करेगा।
इसके लिए हम यह कमांड डाल कर के देख सकते हैं।
# sudo systemctl status certbot.timer
इसके बाद हमें कुछ आउटपुट इसके बाद यह दिखाई देगा।
लगभग आपके वर्चुअल प्राइवेट सर्वर पर लेटेस्ट इंक्रिप्ट एस एस एल सर्टिफिकेट इंस्टॉल हो करके तैयार है। बस आपको यह जांचना है कि यह ऑटो रिनुअल होता है या नहीं। यह जांचने के लिए आप इसे dry run करवा सकते हैं। या जांचने के लिए आपने में लिखित कमांड अपने टर्मिनल में डालें।
# sudo certbot renew --dry-run
यह कमाड डालने के बाद अगर किसी भी तरह की कोई त्रुटि नहीं आती है। तो आप निश्चित रहिए यह हर दिन 2 बार रन होगा और यह देखेगा कि आपका एसएसएल सर्टिफिकेट वैलिड है या नहीं। ठीक आपका एसएसएल सर्टिफिकेट एक्सपायर होने से पहले यह ऑटोमेटिक रिनुअल हो जाएगा।
निष्कर्ष
आज के हमारे इस लेख में आपने क्या सीखा? आज के हमारे इस लेख में हमने आप सभी लोगों को एक ट्यूटोरियल के माध्यम से यह बताने की कोशिश की है कि किस तरह से आप Install Let’s Encrypt SSL Certificate in Nginx With Auto Renewal Hindi। इसके अलावा हमने अपने इस लेख में यह भी जानकारी दी है कि एसएसएल सर्टिफिकेट क्या होता है? यह किस तरह आपके वेबसाइट के ग्राहक और उपयोगकर्ता की जानकारी को सुरक्षित रखता है।
आज के हमारे इस लेख से संबंधित अगर आप के कुछ सवाल एवं सुझाव है तो आप हमें कमेंट बॉक्स में कमेंट करके बता सकते हैं। अगर आपको अपने Nginx Server सरवर पर किसी भी तरह की दिक्कत let’s Encrypt सर्टिफिकेट को इंस्टॉल करने में हो रही है तो भी आप हमें कमेंट बॉक्स पर कमेंट करके बता सकते हैं। हम आपकी समस्याओं का समाधान करने की कोशिश करेंगे।