HTTPS फ़ार्म के लिए Let's encrypt SSL प्रमाणपत्र का उपयोग कैसे करें

श्रेणियाँ देखें

HTTPS फ़ार्म के लिए Let's encrypt SSL प्रमाणपत्र का उपयोग कैसे करें

11 मिनट पढ़ा

अवलोकन #

लेट्स एनक्रिप्ट एक खुला और स्वचालित प्रमाणपत्र प्राधिकरण है जो ACME (स्वचालित प्रमाणपत्र प्रबंधन वातावरण) प्रोटोकॉल किसी भी संगत क्लाइंट को मुफ़्त TLS/SSL प्रमाणपत्र प्रदान करता है। इन प्रमाणपत्रों का उपयोग वेब सर्वर और उपयोगकर्ताओं के बीच संचार को एन्क्रिप्ट करने के लिए किया जा सकता है।

यह ट्यूटोरियल संक्षेप में प्रमाणपत्र प्राधिकारियों और कैसे पर चर्चा करेगा RELIANOID एकीकरण Let's Encrypt के साथ काम करता है, फिर समीक्षा करें कि कैसे RELIANOID का उपयोग करता है certbot (ACME क्लाइंट) को लेट्स एन्क्रिप्ट इंफ्रास्ट्रक्चर के साथ संचार करने के लिए।

RELIANOID लोड बैलेंसर 6.0.3 या उच्चतर संस्करण में एक छोटा सर्टबॉट रैपर शामिल है जिसे कहा जाता है letsencryptz Certbot वेबरूट कार्यक्षमता का उपयोग करने के लिए, निम्नलिखित पंक्तियाँ बताती हैं कि यह रैपर कैसे काम करता है, कृपया इसे उत्पादन वातावरण में काम करने के लिए इन सभी को ध्यान में रखें।

लेट्स एन्क्रिप्ट सत्यापन कैसे काम करता है? #

वेबरूट कार्यक्षमता के संक्षिप्त विवरण के रूप में, वेबरूट प्लगइन आपके प्रत्येक अनुरोधित डोमेन के लिए एक अस्थायी फ़ाइल बनाकर काम करता है RELIANOID फ़ाइल पथ /usr/local/relianoid/app/letsencryptz/webroot/.well-known/acme-challenge/. फिर लेट्स एन्क्रिप्ट सत्यापन सर्वर HTTP अनुरोध करता है ताकि यह सत्यापित किया जा सके कि प्रत्येक अनुरोधित डोमेन के लिए DNS letsencryptz रैपर चलाने वाले सर्वर पर हल हो जाता है और सत्यापन उद्देश्यों के लिए अस्थायी फ़ाइल पहुँच योग्य है, निम्नलिखित चित्र एक वास्तविक उदाहरण का वर्णन करता है:

चलो एन्क्रिप्ट करते हैं RELIANOID

पिछले चित्र में, RELIANOID लोड बैलेंसर एक सार्वजनिक आईपी पते के साथ राउटर / फ़ायरवॉल के पीछे है 185.79.20.147 (उदाहरण के तौर पर), HTTP और HTTPS ट्रैफ़िक को VIP 192.168.101.31 (उदाहरण के तौर पर) के साथ आंतरिक लोड बैलेंसर से जोड़ा जाता है, जहाँ लोड बैलेंसर को 2 अलग-अलग फ़ार्मों के साथ कॉन्फ़िगर किया जाता है:

HTTPS फ़ार्म का नाम वेब होस्टिंग के माध्यम से 192.168.101.31:443यह फ़ार्म वेब होस्टिंग की पेशकश के लिए ज़िम्मेदार है, इसके साथ ही अलग-अलग वेब सर्वर इंटरनेट पर प्रकाशित किए जाते हैं। उदाहरण के लिए, test1.relianoid.com, test2.relianoid.com, test3.relianoid.com अन्य के अलावा, हम इस आभासी सेवा पर प्रकाशित वेब पेजों का परीक्षण कर रहे हैं।
HTTP फ़ार्म नाम वेबहोस्टिंगरीडायरेक्ट के माध्यम से 192.168.101.31:80इस फ़ार्म का उपयोग केवल रीडायरेक्ट उद्देश्यों के लिए किया जाता है, यह सभी ट्रैफ़िक को HTTP से HTTPS पर ले जाता है।

पिछला आरेख डोमेन के लिए SSL Let's Encrypt प्रमाणपत्र अनुरोध का वर्णन करता है test1.relianoid.com के रूप में इस प्रकार है:

1. लोड बैलेंसर से ही लेट्स एनक्रिप्ट इन्फ्रास्ट्रक्चर को एक प्रमाणपत्र अनुरोध भेजा जाता है।
2. आइए एन्क्रिप्ट नए SSL प्रमाणपत्र अनुरोध का पता लगाता है test1.relianoid.com
3. आइए अनुरोधित होस्ट के लिए DNS IP रिज़ॉल्यूशन एन्क्रिप्ट करें: test1.relianoid.com जाँच करें कि परिणाम सार्वजनिक आईपी है, वही मूल आईपी जिसने अनुरोध आरंभ किया था।
4. इस बिंदु पर चलो एन्क्रिप्ट की घोषणा करते हैं letsencryptz स्क्रिप्ट (वेबरूट सेरबोट) जिसे एक फ़ाइल बनाने की आवश्यकता है HASH सार्वजनिक पथ पर http://test1.relianoid.com/.well-know/acme-challenge/ (80 टीसीपी पोर्ट), स्थानीय निर्देशिका /usr/local/relianoid/app/letsencryptz/webroot/.well-known/acme-challenge/। फिर, letsencryptz इस फ़ाइल को इंटरनेट से सुलभ बनाने के लिए एक अस्थायी सेवा कॉन्फ़िगर करता है (फ़ार्म वेबहोस्टिंगरीडायरेक्ट इस उद्देश्य के लिए संशोधित किया जा रहा है। यदि पहले से कोई फ़ार्म कॉन्फ़िगर नहीं है letsencryptz इस वीआईपी और पोर्ट में एक अस्थायी एक बनाएगा)।
6. अस सून अस letsencryptz अस्थायी सेवा निर्माण की पुष्टि करता है, Lets Encrypt सर्वर सत्यापित करता है कि अस्थायी सत्यापन फ़ाइल बनाई गई है और HASH सामग्री सही है.
7. अंत में, लेट्स एनक्रिप्ट सर्वर पहले से बनाए गए प्रमाणपत्र के साथ पहले अनुरोध का जवाब देते हैं। साधारण नाम (CN) test1.relianoid.com.
8. RELIANOID पहले से निर्मित प्रमाणपत्र को स्थानीय पथ में संग्रहीत करेगा /usr/स्थानीय/relianoid/config/ और यह फार्म में कॉन्फ़िगर करने के लिए तैयार है वेब होस्टिंग.

इस स्तर पर, नए लेट्स एन्क्रिप्ट प्रमाणपत्र का उपयोग HTTPS वर्चुअल सेवा के लिए किया जाएगा।

आइये स्वचालन कमांड को एन्क्रिप्ट करें #

जैसा कि वर्णित है, letsencryptz स्क्रिप्ट आपके SSL प्रमाणपत्रों को प्रबंधित करने के लिए आवश्यक क्रियाओं को स्वचालित करेगी जैसे कि बनाना, नवीनीकृत करना, नष्ट करना या सूचीबद्ध करना, आदि। उपलब्ध कमांड नीचे देखें।

root@zva6k:~# letsencryptz letsencryptz विवरण: letsencryptz एक let's encrypt (certbot) आवरण है जिसमें न्यूनतम पैरामीटर्स हैं जो Relianoid https प्रोफाइल के लिए Let's Encrypt प्रमाणपत्रों को प्रबंधित करने के लिए तैयार है। ध्यान रखें कि यह रैपर certbot webroot सुविधा का उपयोग करता है, इसलिए सार्वजनिक Let's encrypt आर्किटेक्चर को अनुरोधित डोमेन के लिए अनुरोध सत्यापन करने के लिए स्थानीय वर्चुअल IP और पोर्ट (डिफ़ॉल्ट रूप से TCP 80) से कनेक्ट करने की आवश्यकता होती है, इसलिए जैसे ही "obtain" पैरामीटर का उपयोग किया जाता है, यह स्क्रिप्ट एक HTTP फ़ार्म को कॉन्फ़िगर करेगी, जिसे सत्यापन उद्देश्य के लिए Let's encrypt द्वारा एक्सेस किया जाएगा, यह कॉन्फ़िगरेशन इस स्क्रिप्ट द्वारा स्वचालित रूप से किया जाता है, केवल यह सुनिश्चित करें कि उपयोग किए गए वर्चुअल IP और HTTP पोर्ट 80 का उपयोग किसी अन्य लोड संतुलित फ़ार्म द्वारा नहीं किया जाता है, और यह भी सुनिश्चित करें कि अनुरोधित डोमेन के लिए DNS रिज़ॉल्यूशन let's encrypt सिस्टम से पहुंच योग्य है।


उपयोग: /usr/local/relianoid/bin/letsencryptz कार्रवाई: --obtain | --destroy | --renew | --list | --listconf | --help --obtain: वेबरूट सर्ट-बॉट मॉड्यूल का उपयोग करके नए प्रमाणपत्रों का अनुरोध करें।

		आदेश: --vip --खेत --कार्यक्षेत्र --कार्यक्षेत्र --कार्यक्षेत्र --test --vip: वर्चुअल आईपी पहले से ही एक अस्थायी वेब सर्वर प्रकाशित करने के लिए कॉन्फ़िगर किया गया था, यह प्रमाणपत्र अनुरोध को सत्यापित करने के लिए एन्क्रिप्टेड सार्वजनिक सर्वर से जुड़ा होगा। स्थानीय प्रक्रिया से जुड़ने के लिए वर्चुअल आईपी को 80 पोर्ट पर मुक्त होना चाहिए, यदि यह मुक्त नहीं है तो इसके बजाय --farm का उपयोग करें।
        		--farm: फार्म का नाम जो "letsencryptz" नामक एक अस्थायी सेवा को कॉन्फ़िगर करता है, यदि कोई फार्म उपयोग नहीं किया जाता है तो चयनित वर्चुअल आईपी में "letsencryptRelianoid" नामक एक अस्थायी फार्म कॉन्फ़िगर किया जाएगा।
        		--डोमेन: वह डोमेन जो प्रमाणपत्र का अनुरोध करता है, अर्थात www.mycompany.com.
			--test: वैकल्पिक पैरामीटर, यदि इसका उपयोग किया जाता है तो प्रमाणपत्र परीक्षण उद्देश्य के लिए अनुरोध किया जाता है।

	--destroy: निर्दिष्ट प्रमाणपत्र नाम को निरस्त करें और मिटाएं, यदि दिया गया प्रमाणपत्र किसी फ़ार्म द्वारा उपयोग में है तो कार्रवाई अस्वीकृत हो जाती है।
		
		आदेश: --certname --certname: प्रमाणपत्र नाम, यह मान क्रिया --list से प्राप्त किया जा सकता है।

	--renew: समाप्ति के निकट प्रमाणपत्रों को नवीनीकृत करें, किसी आदेश की आवश्यकता नहीं है आदेश: --test --forcerestart --vip --खेत --test: वैकल्पिक पैरामीटर, यदि इसका उपयोग किया जाता है तो ड्राई-रन निष्पादित किया जाता है, प्रमाणपत्रों का नवीनीकरण सिम्युलेट किया जाता है। 
			--forcerestart: वैकल्पिक पैरामीटर, यदि इसका उपयोग किया जाता है तो नवीनीकृत प्रमाणपत्रों का उपयोग करने वाले फार्मों को परिवर्तनों को लागू करने के लिए पुनः प्रारंभ किया जाएगा।
                        --vip: वर्चुअल आईपी पहले से ही कॉन्फ़िगर किया गया है जहां एक अस्थायी वेब सर्वर प्रकाशित करना है, यह प्रमाणपत्र नवीनीकरण को सत्यापित करने के लिए एन्क्रिप्ट सार्वजनिक सर्वर से जुड़ा होगा। स्थानीय प्रक्रिया से जुड़ने के लिए वर्चुअल आईपी को 80 पोर्ट पर मुक्त होना चाहिए, यदि यह मुक्त नहीं है तो इसके बजाय --farm का उपयोग करें।
                        --farm: फार्म का नाम जो "letsencryptz" नामक एक अस्थायी सेवा को कॉन्फ़िगर करता है, यदि कोई फार्म उपयोग नहीं किया जाता है तो चयनित वर्चुअल आईपी में "letsencryptRelainoid" नामक एक अस्थायी फार्म कॉन्फ़िगर किया जाएगा।

	--list: let's encrypt द्वारा प्रबंधित सभी स्थानीय प्रमाणपत्रों की सूची और स्थिति, किसी आदेश की आवश्यकता नहीं।

	--listconf: सूची बनाएंRELIANOID


पहली बार letsencryptz को निष्पादित करने में कुछ समय लगेगा क्योंकि सिस्टम स्वचालित रूप से अनसुलझे निर्भरताएं स्थापित करने जा रहा है, इसका उपयोग शुरू करने से पहले एक कॉन्फ़िगरेशन समीक्षा भी की जाती है, Let's Encrypt प्रमाणपत्रों से संबंधित ईमेल खाते या संपर्क उद्देश्यों के लिए अनुरोध करता है, इस ईमेल खाते का उपयोग Let's Encrypt सिस्टम के खिलाफ की गई किसी भी कार्रवाई के साथ किया जाएगा, इस ईमेल को मुख्य कॉन्फ़िगरेशन फ़ाइल में कॉन्फ़िगर किया जा सकता है /usr/local/relianoid/config/global.conf, निर्देश $ले_ईमेल.

कुछ उपयोग उदाहरण नीचे दर्शाए गए हैं।

RELIANOID आइए प्रमाणपत्र निर्माण को एन्क्रिप्ट करें #

यह आदेश डोमेन के लिए एक नए प्रमाणपत्र का अनुरोध करता है test2.relianoid.comध्यान रखें कि दिया गया VIP आंतरिक होगा, जिसका ट्रैफ़िक सार्वजनिक IP से आंतरिक IP तक नैटेड होना चाहिए। यदि लेट्स एन्क्रिप्ट इस सेवा तक पहुँचने में सक्षम नहीं है, तो अनुरोध अस्वीकार कर दिया जाएगा।

root@zva6k:~# letsencryptz --obtain --vip 192.168.101.31 --domain test2.relianoid.com चेतावनी: कोई फ़ार्म नाम निर्दिष्ट नहीं है, VIP 192.168.101.31 पोर्ट 80 में letsencryptRelianoid नाम वाला एक अस्थायी फ़ार्म बनाया जाएगा। let's encrypt के लिए फ़ार्म कॉन्फ़िगर करना प्रमाणपत्र नाम सत्यापन test2.relianoid.com डोमेन के लिए प्रमाणपत्र प्राप्त करना... डिबग लॉग को /var/log/letsencrypt/letsencrypt.log में सहेजना चयनित प्लगइन: प्रमाणक वेबरूट, इंस्टॉलर कोई नहीं नया प्रमाणपत्र प्राप्त करना गैर-मानक पथ, आपके ऑपरेटिंग सिस्टम पैकेज प्रबंधक द्वारा इंस्टॉल किए गए crontab के साथ काम नहीं कर सकते हैं letsencryptRelianoid के लिए, सेवा letsencryptz नवीनीकृत प्रमाणपत्रों का उपयोग करके फ़ार्मों को पुनः आरंभ कर रही है: 

RELIANOID आइए एन्क्रिप्ट प्रमाणपत्र सूची बनाएं #

इस आदेश के निष्पादन से प्रबंधित वर्तमान प्रमाणपत्र दिखाई देंगे RELIANOID चलो एन्क्रिप्ट प्रणाली.

root@zva6k:~# letsencryptz --list कॉन्फ़िगरेशन निर्देशिका /usr/local/relianoid/config/letsencrypt/ में वर्तमान कॉन्फ़िगरेशन के लिए सभी उपलब्ध प्रमाणपत्रों को सूचीबद्ध करना /var/log/letsencrypt/letsencrypt.log में डिबग लॉग सहेजना प्रमाणपत्र का नाम: test1.relianoid.com डोमेन(s): test1.relianoid.com समाप्ति तिथि: 2019-09-19 10:48:02+00:00 (वैध: 77 दिन) Pem प्रमाणपत्र फ़ाइल: /usr/local/relianoid/config/test1_relianoid_es.pem प्रमाणपत्र का नाम: test3.relianoid.com डोमेन(s): test3.relianoid.com समाप्ति तिथि: 2019-09-26 06:32:52+00:00 (वैध: 83 दिन) Pem प्रमाणपत्र फ़ाइल: /usr/local/relianoid/config/test3_relianoid_es.pem


फ़ील्ड पर विचार करें प्रमाण - पत्र नाम, इस फ़ील्ड को letsencryptz रैपर द्वारा पहचाना जाएगा –प्रमाणपत्रनाम.

RELIANOID चलो एन्क्रिप्ट प्रमाणपत्र नवीनीकरण #

पिछला कमांड यह जाँचता है कि क्या पहले से जनरेट किए गए किसी प्रमाणपत्र को नवीनीकरण की आवश्यकता है, ऐसी स्थिति में नवीनीकरण स्वचालित रूप से हो जाएगा। ध्यान रखें कि यदि नवीनीकृत प्रमाणपत्र उपयोग में है तो परिवर्तन लागू करने के लिए फ़ार्म पुनरारंभ की आवश्यकता होगी, कृपया विकल्प का उपयोग करें –फोर्सरीस्टार्ट अगर आप चाहते हैं letsencryptz परिवर्तनों को लागू करने के लिए सभी आवश्यक फ़ार्मों को पुनः आरंभ करता है।

root@zva6k:~# letsencryptz --renew --vip 192.168.101.31 सभी आवश्यक प्रमाणपत्रों का नवीनीकरण किया जा रहा है डीबग लॉग को /var/log/letsencrypt/letsencrypt.log में सहेजा जा रहा है प्रमाणपत्र का नवीनीकरण अभी तक नहीं हुआ है प्रमाणपत्र का नवीनीकरण अभी तक नहीं हुआ है

RELIANOID आइए एन्क्रिप्ट प्रमाणपत्र विलोपन करें #

यह कमांड दिए गए प्रमाणपत्र को रद्द कर देता है और हटा देता है। यदि सिस्टम को पता चलता है कि चयनित प्रमाणपत्र वर्तमान में किसी HTTPS फ़ार्म द्वारा उपयोग में है, तो कार्रवाई को अस्वीकार कर दिया जाएगा, ऊपर दिए गए उदाहरण में डिलीट एक्शन को अस्वीकार कर दिया गया है क्योंकि प्रमाणपत्र फ़ार्म द्वारा उपयोग में है टेस्टhttps.

root@zva6k:~# letsencryptz --destroy --certname test3.relianoid.com वर्तमान कॉन्फ़िगरेशन के लिए प्रमाणपत्र(स) test3.relianoid.com को निरस्त और हटाया जा रहा है... यह फ़ाइल हटाई नहीं जा सकती क्योंकि इसका उपयोग फ़ार्म(स) द्वारा किया जाता है: testhttps

जैसे ही प्रमाण पत्र फार्म से अस्वीकृत हो जाएगा, कार्रवाई की जाएगी:

root@zva6k:~# letsencryptz --destroy --certname test3.relianoid.com वर्तमान कॉन्फ़िगरेशन के लिए test3.relianoid.com प्रमाणपत्र(ओं) को निरस्त और हटाया जा रहा है... डिबग लॉग को /var/log/letsencrypt/letsencrypt.log में सहेजा जा रहा है /usr/local/relianoid/config/test3_relianoid_es.pem पथ में test3.relianoid.com प्रमाणपत्र(ओं) को हटाया गया

Let's Encrypt प्रमाणपत्रों को यहां स्थानांतरित करें RELIANOID #

RELIANOID लोड बैलेंसर सभी कॉन्फ़िगरेशन फ़ाइलों को सहेजता है certbot स्थानीय पथ में /usr/स्थानीय/zevenet/config/letsencrypt/. अपनी मौजूदा सर्टबॉट कॉन्फ़िगरेशन फ़ाइलों को स्थानांतरित करने के लिए (डिफ़ॉल्ट रूप से /etc/letsencrypt) को किसी अन्य सर्वर से RELIANOID, आपको केवल अपने सर्वर में इस मौजूदा कॉन्फ़िगरेशन निर्देशिका का एक टारबॉल (tar.gz फ़ाइल) बनाना होगा और सामग्री को अनकंप्रेस करना होगा RELIANOID आइए कॉन्फ़िगरेशन पथ को एन्क्रिप्ट करें। अंत में, चर को संशोधित करने पर विचार करें $ले_ईमेल फ़ाइल में ग्लोबल.कॉन्फ़ पिछले अनुरोधों में प्रयुक्त उसी ईमेल पर।

आइए एन्क्रिप्ट सर्टिफिकेट क्लस्टरिंग समर्थन करें #

RELIANOID चलो एन्क्रिप्ट प्लगइन पूरी तरह से समर्थित है RELIANOID क्लस्टर सेवा। सभी Let's Encrypt क्रियाएँ एक कॉन्फ़िगरेशन फ़ाइल में सहेजी जाती हैं, जिसे द्वारा दोहराया जाता है RELIANOID क्लस्टर सेवा, इसलिए इसमें निष्पादित कोई भी कार्रवाई मास्टर नोड को दोहराया जाएगा दास नोड स्वचालित रूप से, लेकिन में निष्पादित कोई भी कार्रवाई दास किसी भी डिसिंक्रोनाइजेशन से बचने के लिए लेट्स एनक्रिप्ट से संबंधित नोड को हटा दिया जाएगा।

चलो एन्क्रिप्ट प्रमाण पत्र स्वचालित नवीकरण #

RELIANOID लेट्स एनक्रिप्ट प्लगइन को इस प्रकार कॉन्फ़िगर किया जा सकता है कि यह प्रतिदिन जांच करे कि किसी प्रमाणपत्र को नवीकरण की आवश्यकता है या नहीं, यदि सिस्टम किसी दिए गए प्रमाणपत्र को स्वचालित रूप से नवीनीकृत करता है और यह किसी फार्म द्वारा उपयोग में है, तो प्रमाणपत्र परिवर्तन लागू करने के लिए फार्म स्वचालित रूप से पुनः आरंभ हो जाएगा।

स्वचालित नवीनीकरण को कॉन्फ़िगर करने के लिए कृपया निम्नलिखित करें:

निम्नलिखित cron फ़ाइल बनाएँ /etc/cron.d/letsencryptz निम्न सामग्री के साथ:

root@zva6k:~# cat /etc/cron.d/letsencryptz 00 00 * * * root /usr/local/relianoid/bin/letsencryptz --renew --forcerestart --vip 192.168.101.31

इस कॉन्फ़िगरेशन के साथ, नवीनीकरण जाँच प्रतिदिन 00:00 (मध्यरात्रि) पर निष्पादित की जाएगी। और VIP 192.168.101.31 का उपयोग लेट्स एनक्रिप्ट सिस्टम से सत्यापन उद्देश्य के लिए पोर्ट 80 में किया जाएगा।

संदर्भ #

इस आलेख में प्रयुक्त कुछ संदर्भ इस प्रकार हैं:

वेबरूट और सर्टबॉट
लेट्स एनक्रिप्ट कैसे काम करता है

📄 इस दस्तावेज़ को पीडीएफ प्रारूप में डाउनलोड करें #

    ई - मेल: *

    द्वारा संचालित बेटरडॉक्स