Ubuntu 19.04 पर Nginx में Lets Encrypt से Wildcard Certs इंस्टॉल करें

मार्च 2018 में वाइल्डकार्ड सर्टिफिकेट के लिए एनक्रिप्ट को सपोर्ट जोड़ा गया है। वाइल्डकार्ड प्रमाणपत्र आपको किसी एकल प्रमाणपत्र के साथ डोमेन के सभी प्रथम-स्तरीय उप-डोमेन सुरक्षित करते हैं। वाइल्डकार्ड प्रमाणपत्र केवल ACMEv2 के माध्यम से प्राप्य हैं, जो ACME प्रोटोकॉल का एक अद्यतन संस्करण है। किसी वाइल्डकार्ड या गैर-वाइल्डकार्ड प्रमाणपत्र के लिए ACMEv2 का उपयोग करने के लिए, आपको एक क्लाइंट की आवश्यकता होगी जिसे ACMEv2 का समर्थन करने के लिए अद्यतन किया गया है। ऐसा ही एक क्लाइंट acme.sh है, जो बिना किसी निर्भरता के शेल (य���निक्स शेल) भाषा में विशुद्ध रूप से लिखा गया ACME / ACMEv2 प्रोटोकॉल क्लाइंट है। इसके अलावा, DNS-01 चुनौती प्रकार का उपयोग करके वाइल्डकार्ड डोमेन को मान्य किया जाना चाहिए। इसका मतलब है कि वाइल्डकार्ड प्रमाणपत्र प्राप्त करने के लिए डोमेन पर नियंत्रण साबित करने के लिए आपको DNS TXT रिकॉर्ड को संशोधित करने की आवश्यकता है।

इस मार्गदर्शिका में, हम बताते हैं कि कैसे acme.shक्लाइंट से यू-बी 19 19.04 पर फ्री वाइल्डकार्ड सेरेक्ट प्राप्त करने और उसकी तैनाती करने के लिए , Vultr API का उपयोग करके DNS रिकॉर्ड्स के स्वत: हेरफेर के लिए Lexicon टूल और Nginx वेब सर्वर को सीर्ट्स तैनात करें।

आवश्यकताएँ

  • हौसले से तैनात उबंटू 19.04 वल्चर क्लाउड सर्वर।
  • आपके पास एक पंजीकृत डोमेन नाम है। यह गाइड example.comएक उदाहरण डोमेन के रूप में उपयोग करता है ।
  • सुनिश्चित करें कि आपने अपने पूरी तरह से योग्य डोमेन नाम (FQDN) के लिए A / AAAA और CNAME DNS रिकॉर्ड सेट किए हैं। यदि आप अपने आप को डीएनएस अवधारणाओं के साथ परिचित कराने की आवश्यकता है, तो आप वल्चर डीएनएस ट्यूटोरियल के परिचय से परामर्श करना चाह सकते हैं।
  • Vultr API Access आपके Vultr अकाउंट कंट्रोल पैनल में सक्षम है।

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

Ubuntu संस्करण की जाँच करें।

lsb_release -ds
# Ubuntu 19.04

sudoपहुंच और अपने पसंदीदा उपयोगकर्ता नाम के साथ एक नया उपयोगकर्ता खाता बनाएं और उस पर स्विच करें। हम उपयोग करते हैं johndoe

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

नोट : अपने उपयोगकर्ता नाम के साथ बदलें johndoe

टाइमजोन सेट करें।

sudo dpkg-reconfigure tzdata

सुनिश्चित करें कि आपका उबंटू सिस्टम अद्यतित है।

sudo apt update && sudo apt upgrade -y

आवश्यक पैकेज स्थापित करें।

sudo apt install -y git wget curl socat

Nginx स्थापित करें

Nginx वेब सर्वर स्थापित करें।

sudo apt install -y nginx

संस्करण की जाँच करें।

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

पायथन और लेक्सिकन स्थापित करें

Acme.sh और Vultr API का उपयोग करके एनकाउंटर को वाइल्डकार्ड सर्टिफिकेट प्राप्त करने की प्रक्रिया में पहले कदम के रूप में, आपको पायथन और लेक्सिकन को स्थापित करने की आवश्यकता है । लेक्सिकन एक पायथन पैकेज है जो मानकीकृत तरीके से कई DNS प्रदाताओं पर DNS रिकॉर्ड को हेरफेर करने का एक तरीका प्रदान करता है।

यदि आपके सिस्टम पर पहले से इंस्टॉल नहीं है तो पायथन को स्थापित करें।

sudo apt install -y python3

संस्करण की पुष्टि करके स्थापना की पुष्टि करें।

python3 --version
# Python 3.7.3

लेक्सिकन उपकरण स्थापित करें। एक लेक्सिकन एक पायथन उपकरण है जो आपको मानकीकृत तरीके से विभिन्न DNS प्रदाताओं पर डीएनएस रिकॉर्ड में हेरफेर करने की अनुमति देता है।

sudo apt install -y lexicon

लेक्सिकन संस्करण की जाँच करें।

lexicon --version
# lexicon 3.0.8

acme.shक्लाइंट स्थापित करें

Acme.shएक एसीएमई प्रोटोकॉल क्लाइंट है जो पूरी तरह से शेल (यूनिक्स शेल) भाषा में लिखा गया है जो लेट्स एनक्रिप्ट के माध्यम से हस्ताक्षरित प्रमाणपत्र प्राप्त करने की प्रक्रिया को स्वचालित करता है। यह ACME v1 और ACME v2 का समर्थन करता है, और सबसे महत्वपूर्ण बात यह ACME v2 वाइल्डकार्ड सेर्ट्स का समर्थन करता है। इस खंड में, हम एक Acme.sh स्क्रिप्ट स्थापित करते हैं।

नोट: इसे rootस्थापित करने के लिए उपयोगकर्ता का उपयोग करने की सिफारिश की जाती है acme.sh, हालांकि इसकी आवश्यकता नहीं है root/ sudoपहुंच नहीं है ।

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

sudo su - root

डाउनलोड करें और इंस्टॉल करें acme.sh

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd

संस्करण की जाँच करें।

acme.sh --version
# v2.8.2

वाइल्डकार्ड सेरट्स को लेट एनक्रिप्ट से प्राप्त करें

वाइल्डकार्ड प्रमाणपत्र प्राप्त करने के लिए, हम केवल डीएनएस सत्यापन विधि का उपयोग कर सकते हैं। हम TXT DNS रिकॉर्ड्स में हेरफेर करने के लिए Lexicon और Vultr DNS API का उपयोग करते हैं।

अपने डोमेन के लिए RSA और ECC वाइल्डकार्ड सेर्ट्स प्राप्त करें।

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

नोट : अपने डोमेन नाम के साथ प्रतिस्थापित करने के लिए मत भूलना example.com, और अपने खुद के साथ Vultr एपीआई प्लेसहोल्डर मूल्यों की जगह।

पूर्ववर्ती आदेशों को चलाने के बाद, आपके प्रमाणपत्र और कुंजियाँ इस प्रकार हैं:

  • RSA के लिए: ~/.acme.sh/example.comनिर्देशिका।
  • ECC / ECDSA के लिए: ~/.acme.sh/example.com_eccनिर्देशिका।

नोट : आपको ~/.acme.sh/फ़ोल्डर में प्रमाणित फ़ाइलों का उपयोग नहीं करना चाहिए , वे केवल आंतरिक उपयोग के लिए हैं, भविष्य में निर्देशिका संरचना बदल सकती है।

अपने अनाज को सूचीबद्ध करने के लिए, आप चला सकते हैं:

acme.sh --list

उत्पादन में अपने अनाज को संग्रहीत करने के लिए एक फ़ोल्डर बनाएं। हम /etc/letsencryptनिर्देशिका का उपयोग करते हैं।

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

अपने सर्वर पर उत्पादन उपयोग के लिए प्रमाण पत्र स्थापित / कॉपी करें।

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

अब जब हमने लेट्स एनक्रिप्ट से वाइल्डकार्ड सेरेट्स को सफलतापूर्वक प्राप्त कर लिया है, तो हमें नग्नेक्स वेब सर्वर को कॉन्फ़िगर करने की आवश्यकता है। सभी सेर्ट्स को हर 60 दिनों में स्वचालित रूप से नवीनीकृत किया जाता है।

अपने पसंदीदा स्थान पर सीट्स प्राप्त करने और स्थापित करने के बाद, आप rootउपयोगकर्ता से एक नियमित sudoउपयोगकर्ता के लिए लॉग आउट कर सकते हैं और sudoयदि आवश्यक हो तो अपने सर्वर का प्रबंधन करना जारी रख सकते हैं ।

exit

Nginx वेब सर्वर को कॉन्फ़िगर करें

sudo vim /etc/nginx/sites-available/example.com.confनिम्न सामग्री के साथ फ़ाइल को चलाएं और आबाद करें। example.comअपने डोमेन नाम के साथ सभी घटनाओं को प्रतिस्थापित करें।

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

example.com.confफ़ाइल को sites-enabledनिर्देशिका से लिंक करके नए कॉन्फ़िगरेशन को सक्रिय करें ।

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Nginx कॉन्फ़िगरेशन का परीक्षण करें।

sudo nginx -t

रीलोडेड नेग्नेक्स।

sudo systemctl reload nginx.service

बस। हमने acme.sh, Lexicon, और Vultr API का उपयोग करके, Nginx में वाइल्डकार्ड सीरेट्स को तैनात किया। जब आप गतिशील रूप से उत्पन्न कई प्रथम स्तर के उप-डोमेन सुरक्षित करना चाहते हैं, तो वाइल्डकार्ड सीट्स उपयोगी हो सकते हैं।



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

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

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ