यदि आपने गोपनीयता युक्तियों पर कई लेख पढ़े हैं, तो आप निश्चित रूप से एक टिप पर आ जाएंगे जो आपको "हर जगह HTTPS" एक्सटेंशन इंस्टॉल करने के लिए कहता है ताकि जब भी संभव हो, यह आपको स्वचालित रूप से वेबसाइट के HTTPS संस्करण पर रीडायरेक्ट कर देगा। बुरी बात यह है कि हर जगह एचटीटीपीएस केवल तभी काम करता है जब आप जिस वेबसाइट पर जा रहे हैं, वह एसएसएल लागू कर चुका है, और अधिकांश वेबमास्टर्स के लिए, यह एक कठिन (और महंगा) कार्य हो सकता है। सौभाग्य से, लेट्स एन्क्रिप्टेड आंदोलन के साथ, वेबमास्टर्स के लिए अब एसएसएल प्रमाणपत्रों को अपनी साइट पर जोड़ना आसान है।

अतीत में (और वर्तमान में), एक एसएसएल प्रमाणपत्र स्थापित करने के लिए आपको पहले अपने सर्वर पर एक निजी कुंजी उत्पन्न करने की आवश्यकता होती है, फिर सर्टिफिकेट अथॉरिटी (जो महंगा हो सकती है) से एक एसएसएल प्रमाण पत्र खरीदना चाहिए, और आखिरकार, सर्वर में इसे सेट अप करें । प्रक्रिया में बहुत सारी तकनीकीता शामिल है, और इसे सही तरीके से नहीं करने से एसएसएल प्रमाणपत्र बेकार होगा। Let's Encrypt प्रोजेक्ट के साथ, कोई भी बिना किसी लागत के अपनी साइट पर SSL प्रमाणपत्र जोड़ सकता है। और मोज़िला, अकामाई, सिस्को, ईएफएफएफएफ और Google जैसे बड़े उद्योग के खिलाड़ियों द्वारा समर्थित, यह अधिकांश ब्राउज़रों और ऑपरेटिंग सिस्टम द्वारा समर्थित है।

इस ट्यूटोरियल में हम Nginx सर्वर में Let's Encrypt SSL प्रमाणपत्र सेट अप करने के चरणों के माध्यम से कदम उठाएंगे। हम इस ट्यूटोरियल के लिए उबंटू 14.04 सर्वर का उपयोग कर रहे हैं और मान लें कि आप एक काम कर रहे Nginx Ubuntu सर्वर का उपयोग कर रहे हैं। उबंटू 16.04 सर्वर के लिए निर्देश भिन्न हो सकता है।

चलो एन्क्रिप्ट करें इंस्टॉल करें

सबसे पहले, लेट एन्क्रिप्ट को स्थापित करने के लिए, आपको git को इसकी गिट रिपोजिटरी से क्लोन करने की आवश्यकता होगी। निम्न आदेश के साथ गिट स्थापित करें:

 sudo apt-git bc इंस्टॉल करें 

एक बार इंस्टॉल हो जाने पर, लेट्स एन्क्रिप्टेड की रिपोजिटरी क्लोन करें:

 सूडो गिट क्लोन https://github.com/letsencrypt/letsencrypt / opt / letsencrypt 

पर्यावरण की स्थापना

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

अपने Nginx साइट कॉन्फ़िगरेशन फ़ोल्डर पर आगे बढ़ें और इसे खोलें (यदि आपके पास अपनी साइट के लिए कस्टम कॉन्फ़िगरेशन फ़ाइल है) या डिफ़ॉल्ट का उपयोग करें:

 सीडी / आदि / nginx / साइट्स-उपलब्ध सूडो नैनो डिफ़ॉल्ट 

सर्वर ब्लॉक में निम्न पंक्तियां जोड़ें:

 स्थान ~ /\.well-known {सभी को अनुमति दें; } 

सहेजें (Ctrl + O) और कॉन्फ़िगरेशन फ़ाइल को बंद करें (Ctrl + x)।

अपने Nginx विन्यास का परीक्षण करें:

 सुडो nginx -t 

यदि सभी कॉन्फ़िगरेशन ठीक काम करता है, तो कॉन्फ़िगरेशन पुनः लोड करें:

 सुडो सेवा nginx रीलोड 

एक एसएसएल प्रमाणपत्र उत्पन्न करें

अब जब आप Nginx कॉन्फ़िगरेशन के साथ किए जाते हैं, तो अगली बात SSL प्रमाणपत्र स्थापित करना है।

लेट्स एन्क्रिप्ट फ़ोल्डर पर जाएं:

 सीडी / ऑप्ट / letencrypt 

प्रमाणपत्र उत्पन्न करने के लिए निम्न आदेश चलाएं:

 ./letsencrypt-auto certonly -a webroot --webroot-path = / usr / share / nginx / html -d example.com 

यहां कुछ बदलाव करने के लिए कुछ चीजें हैं:

  • वेब साइट webroot-path को अपनी साइट के दस्तावेज़ रूट पथ में बदलें। डिफ़ॉल्ट "/ उपयोगकर्ता / शेयर / nginx / html है, " लेकिन आपकी कॉन्फ़िगरेशन भिन्न हो सकती है।
  • अपने example name पर "example.com" बदलें। ध्यान दें कि "example.com" और "www.example.com" दो अलग-अलग डोमेन हैं। यदि आप प्रमाणपत्र को एकाधिक डोमेन का समर्थन करना चाहते हैं, तो आदेश के अंत में बस -d example1.com जोड़ें। उदाहरण के लिए, डोमेन "example.com", "www.example.com", "example1.com" और "www.example1.com" डोमेन के लिए SSL प्रमाणपत्र सेट अप करने के लिए निम्न आदेश का उपयोग करें:
 ./letsencrypt-auto certonly -a webroot --webroot-path = / usr / share / nginx / html -d example.com -d www.example.com -d example1.com -d www.example1.com 

पहले रन पर स्क्रिप्ट आपके सिस्टम में पाइथन फाइलों का एक गुच्छा स्थापित करेगा। एक बार यह हो जाने के बाद, यह प्रमाणपत्र उत्पादन प्रक्रिया शुरू कर देगा। सबसे पहले यह आपके ईमेल पते के लिए पूछेगा:

इसके बाद आपको लेट्स एन्क्रिप्ट वेबसाइट पर सेवा की शर्तों को पढ़ने के लिए कहा जाएगा। "सहमत" का चयन करें।

यदि आपको निम्न संदेश दिखाई देता है:

 महत्वपूर्ण नोट्स: - बधाई हो! आपका प्रमाणपत्र और श्रृंखला /etc/letsencrypt/live/example.com/fullchain.pem पर सहेजी गई है। आपका प्रमाणपत्र 2016-10-02 को समाप्त हो जाएगा। भविष्य में इस प्रमाणपत्र का नया या ट्वीड संस्करण प्राप्त करने के लिए, बस letencrypt-auto को फिर से चलाएं। अपने प्रमाणपत्रों के * सभी * को गैर-अंतःक्रियात्मक रूप से नवीनीकृत करने के लिए, "letsencrypt-auto नवीकरण" चलाएं - यदि आपको सर्टबॉट पसंद है, तो कृपया हमारे काम का समर्थन करने पर विचार करें: आईएसआरजी / लेट्स एन्क्रिप्ट करने के लिए दान करना: https://letsencrypt.org/donate ईएफएफ: https://eff.org/donate-le 

इसका मतलब है कि आपने अपनी साइट के लिए सफलतापूर्वक एसएसएल प्रमाण पत्र जेनरेट किया है। यदि इसके बजाय आपको एक त्रुटि संदेश दिखाई देता है, तो त्रुटि को ठीक करें और दोबारा प्रयास करें।

अपनी साइट के लिए एसएसएल प्रमाणपत्र सक्रिय करना

अब जब आपने SSL प्रमाणपत्र जेनरेट किया है, तो यह आपकी साइट के लिए इसे सक्रिय करने का समय है।

Nginx कॉन्फ़िगरेशन फ़ोल्डर पर वापस आएं और साइट की कॉन्फ़िगरेशन फ़ाइल खोलें:

 सीडी / आदि / nginx / साइट्स-उपलब्ध सूडो नैनो डिफ़ॉल्ट 

एक नया सर्वर ब्लॉक बनाएं और ब्लॉक के अंदर निम्न कॉन्फ़िगरेशन जोड़ें:

 सर्वर {server_name example.com www.example.com; 443 एसएसएल सुनो; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; } 

फ़ाइल को सहेजें और बंद करें।

नोट : उपरोक्त Nginx कॉन्फ़िगरेशन ब्लॉक का सरलीकृत संस्करण है। आपको ब्लॉक में अपनी खुद की कस्टम कॉन्फ़िगरेशन में जोड़ना चाहिए।

अंत में, विन्यास का परीक्षण करें:

 सुडो nginx -t 

अगर सब कुछ ठीक है, तो Nginx पुनः लोड करें:

 सुडो सेवा nginx रीलोड 

बस। आपने अपनी साइटों के लिए सफलतापूर्वक एक SSL प्रमाणपत्र स्थापित किया है। अब आप इसे क्रिया में देखने के लिए अपने यूआरएल के "https" संस्करण को लोड कर सकते हैं।

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

कम से कम एक वर्ष के लिए मान्य अधिकांश वाणिज्यिक SSL प्रमाणपत्रों के विपरीत, लेट्स एन्क्रिप्ट का SSL प्रमाणपत्र केवल तीन महीने के लिए मान्य है। इस समय के बाद आपको इसका उपयोग जारी रखने के लिए नवीनीकरण करना होगा। आइए एन्क्रिप्ट एक renew विकल्प के साथ आता है ताकि आप पूरी तरह से इंस्टॉलेशन के बिना अपने प्रमाणपत्रों को आसानी से नवीनीकृत कर सकें। निम्नलिखित निर्देश आपको दिखाते हैं कि अपने SSL प्रमाणपत्र को स्वतः नवीनीकृत करने के लिए क्रॉन नौकरी कैसे सेट अप करें।

अभी भी अपने सर्वर में, crontab खोलें:

 सुडो क्रोंटब-ए 

निम्नलिखित पंक्तियां जोड़ें:

 00 0 * * 1 / opt / letsencrypt / letsencrypt-auto नवीनीकरण >> /var/log/le-renew.log 05 0 * * 1 /etc/init.d/nginx पुनः लोड 

उपर्युक्त रेखाएं प्रत्येक सोमवार को 12:00 बजे आपके एसएसएल प्रमाण पत्र की समाप्ति तिथि की जांच करेंगी और यदि समाप्ति के करीब हों तो उन्हें नवीनीकृत करें। यह नवीनीकृत प्रमाणपत्र उपयोग में आने के लिए Nginx (12.05 बजे) को फिर से लोड करेगा।

क्रोंटैब को सहेजें और बंद करें।

निष्कर्ष

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

इंटरनेट 2 - एचटीटीपीएस