लॉन्चर उत्पाद Bitnami दस्तावेज़imaxe CLI ब्लॉग संपर्क
imaxe tls प्रमाणपत्र v1.0.0

HTTPS प्रमाणपत्र, बिना किसी झंझट के

अपने सर्वर के लिए मुफ़्त Let's Encrypt प्रमाणपत्र जारी करें और नवीनीकृत करें, और उन्हें सेवा बाधित किए बिना पुनः लोड करें। एक कमांड इसे चालू कर देता है; उसके बाद यह अपने आप नवीनीकृत होता रहता है।

$ imaxe tls issue app.ejemplo.com --email [email protected]
संस्करण
v1.0.0
उपकमांड
6
कॉन्फ़िग
/etc/imaxe/tls.yml
root आवश्यक
हाँ
नवीनीकरण
स्वतः · timer

यह मॉड्यूल क्या करता है #

एक TLS प्रमाणपत्र ही वह चीज़ है जो http:// को https:// में बदलती है: यह आपके आगंतुकों और सर्वर के बीच के कनेक्शन को एन्क्रिप्ट करता है, और ब्राउज़र को «असुरक्षित साइट» की चेतावनी के बजाय ताला दिखाने पर मजबूर करता है।

tls मॉड्यूल certbot की मदद से उस प्रमाणपत्र के पूरे जीवनचक्र का ध्यान रखता है: यह Let's Encrypt (एक मुफ़्त और मान्यता प्राप्त प्राधिकरण) से इसे माँगता है, ACME चुनौती के माध्यम से सिद्ध करता है कि डोमेन आपका है, प्रमाणपत्र को वहाँ स्थापित करता है जहाँ आपका वेब सर्वर उसकी अपेक्षा करता है और समाप्त होने से पहले इसे स्वचालित रूप से नवीनीकृत करता है — बिना आपके याद रखे।

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

आपका डोमेन (उदा. app.ejemplo.com) DNS द्वारा इस सर्वर के IP की ओर इंगित करना चाहिए, और HTTP-01 चुनौती के लिए पोर्ट 80 सुलभ होना चाहिए। अन्यथा, जारी करना सत्यापन चरण में विफल हो जाएगा।

त्वरित मार्गदर्शिकाचरण-दर-चरण कार्य

सामान्य कार्य #

चुनें कि आप क्या करना चाहते हैं। हर विधि में कमांड पहले से लिखा हुआ आता है — बस डोमेन और अपना ईमेल अपने वाले से बदलें, और कॉपी करें दबाएँ।

1

मेरा पहला प्रमाणपत्र जारी करें

अपने डोमेन के लिए HTTPS का ताला एक मिनट में पाएँ।

ubuntu उपयोगकर्ता के साथ SSH के ज़रिए अपने सर्वर से जुड़ें।

डोमेन और ईमेल को अपने वाले से बदलकर कमांड चलाएँ (ईमेल का उपयोग केवल तब आपको सूचित करने के लिए होता है जब कुछ समाप्त होने वाला हो):

terminal
$ sudo imaxe tls issue app.ejemplo.com --email [email protected]

कुछ सेकंड प्रतीक्षा करें। आप चुनौती की प्रगति देखेंगे और अंत में, समाप्ति की तारीख।

आपकी साइट अब ताले के साथ https:// से लोड होती है। स्वचालित नवीनीकरण सक्रिय हो गया है — आपको और कुछ नहीं करना है।
2

देखें कि कौन-से हैं और कब समाप्त होते हैं

एक नज़र में अपने प्रमाणपत्रों की स्थिति जाँचें।

सामान्य स्थिति और नवीनीकरण timer का त्वरित सारांश:

terminal
$ sudo imaxe tls status

क्या आप शेष दिनों और fullchain के पथ के साथ, डोमेन-दर-डोमेन विवरण चाहते हैं? list का उपयोग करें:

terminal
$ sudo imaxe tls list
यदि आपको कोई डोमेन कम दिनों वाला दिखे, तो नवीनीकरण को बाध्य करें विधि पर जाएँ।
3

नवीनीकरण को बाध्य करें

सामान्यतः यह स्वचालित है, लेकिन ज़रूरत पड़ने पर आप इसे पहले कर सकते हैं।

समाप्ति के निकट सभी प्रमाणपत्रों को नवीनीकृत करें (यह ठीक वही है जो timer करता है):

terminal
$ sudo imaxe tls renew

क्या आप पहले डिस्क को छुए बिना इसका पूर्वाभ्यास करना चाहते हैं, या दिन बचे होने पर भी नवीनीकृत करना चाहते हैं? --dry-run या --force जोड़ें:

terminal
$ sudo imaxe tls renew --dry-run
$ sudo imaxe tls renew --force
वेब सर्वर नए प्रमाणपत्र के साथ अपने आप पुनः लोड हो जाता है। आपके आगंतुकों को कोई रुकावट महसूस नहीं होती।
4

एक प्रमाणपत्र रद्द करें

प्राधिकरण में एक प्रमाणपत्र को अमान्य करें (उदा. यदि कुंजी लीक हो गई हो)।

Let's Encrypt में किसी डोमेन का प्रमाणपत्र रद्द करें, यदि आप जानते हों तो कारण बताते हुए:

terminal
$ sudo imaxe tls revoke app.ejemplo.com --reason keycompromise
प्रमाणपत्र तुरंत अमान्य हो जाता है। यदि डोमेन अब भी उपयोग में है, तो issue के साथ एक नया जारी करें।
5

डिस्क से एक प्रमाणपत्र मिटाएँ

ऐसे डोमेन का प्रबंधन बंद करें जिसे आप अब उपयोग नहीं करते।

प्रमाणपत्र और उसकी कुंजियों को डिस्क से हटाएँ। सावधान: यह इसे प्राधिकरण में रद्द नहीं करता — उसके लिए पहले revoke का उपयोग करें।

terminal
$ sudo imaxe tls delete tienda.ejemplo.com
डोमेन imaxe tls list से गायब हो जाता है और उसका स्वचालित नवीनीकरण रुक जाता है।
क्या कुछ काम नहीं किया?

सबसे आम त्रुटि यह है कि DNS अभी तक प्रसारित नहीं हुआ है या पोर्ट 80 बंद है। कुछ मिनट प्रतीक्षा करें और पुनः प्रयास करें। यदि समस्या बनी रहे, तो प्रयासों का कोटा न खर्च करने के लिए पहले --staging के साथ परीक्षण मोड में आज़माएँ (देखें संदर्भ)।

CLI संदर्भकमांड, flags और फाइलें

सारांश #

उपयोग
imaxe tls <subcomando> [<dominio>...] [--email CORREO] [flags]

प्रमाणपत्रों को छूने वाले उपकमांडों को root विशेषाधिकार चाहिए (sudo का उपयोग करें) क्योंकि वे /etc/imaxe/ में लिखते हैं और सिस्टम सेवाओं को पुनः लोड करते हैं। मशीन द्वारा पठनीय, scripting के लिए उपयुक्त आउटपुट पाने के लिए list या status में --json जोड़ें।

उपकमांड #

उपकमांडयह क्या करता हैप्रासंगिक flags
issueACME चुनौती हल करते हुए, एक या अधिक डोमेन के लिए प्रमाणपत्र जारी करता है।--email, --webroot, --standalone, --staging
renewसमाप्ति के निकट प्रमाणपत्रों को नवीनीकृत करता है और वेब सर्वर को पुनः लोड करता है। timer के लिए उपयुक्त।--dry-run, --force
listप्रबंधित प्रमाणपत्रों को समाप्ति के दिनों और fullchain के पथ के साथ सूचीबद्ध करता है।--json
statusसारांश: प्रमाणपत्रों की संख्या, समाप्ति के निकट वाले और नवीनीकरण timer की स्थिति।--json
revokeप्राधिकरण (ACME) में डोमेन के अनुसार एक प्रमाणपत्र रद्द करता है।--reason
deleteप्रमाणपत्र और उसकी कुंजियों को डिस्क से मिटाता है। ACME में रद्द नहीं करता।

आर्गुमेंट और flags #

Flagप्रकारडिफ़ॉल्टविवरण
<dominio> req.string…प्रमाणपत्र के लिए एक या अधिक डोमेन। issue में पहला मुख्य होता है (CN); बाकी SAN। revoke/delete में, संचालित करने वाला डोमेन।
--emailstringtls.ymlACME खाते का संपर्क ईमेल। पहले issue में अनिवार्य; उसके बाद tls.yml वाला पुनः उपयोग होता है।
--webrootpath/var/www/htmlHTTP-01 चुनौती के लिए मूल निर्देशिका। डिफ़ॉल्ट विधि।
--standaloneboolfalsewebroot के बजाय certbot के अंतर्निहित सर्वर का उपयोग करता है। पोर्ट 80 खाली होना आवश्यक।
--stagingboolfalseLet's Encrypt के परीक्षण परिवेश का उपयोग करता है (दर सीमा में नहीं गिना जाता)। प्रमाणपत्र विश्वसनीय नहीं होगा।
--dry-runboolfalserenew में, डिस्क को छुए बिना नवीनीकरण का अनुकरण करता है।
--forceboolfalserenew में, समाप्ति के निकट न होने पर भी नवीनीकृत करता है।
--reasonenumunspecifiedrevoke में: unspecified, keycompromise, superseded, cessationofoperation
--jsonboolfalselist/status में, परिणाम को stdout पर JSON के रूप में देता है।

फाइलें और पथ #

पथसामग्री
/etc/imaxe/tls.ymlमॉड्यूल कॉन्फ़िगरेशन: डिफ़ॉल्ट ईमेल, विधि (webroot/standalone), webroot, staging, स्वतः-नवीनीकरण और पुनः लोड hook।
/etc/letsencrypt/live/<dominio>/certbot द्वारा प्रबंधित प्रमाणपत्र (fullchain.pem) और निजी कुंजी (privkey.pem)।
/var/log/imaxe/tls.logप्रत्येक जारी करने, नवीनीकरण और रद्दीकरण का संरचित रिकॉर्ड।
imaxe-tls.timersystemd टाइमर जो समय-समय पर renew को चलाता है।

tls.yml का उदाहरण:

/etc/imaxe/tls.yml
email: [email protected]
default_method: webroot
webroot: /var/www/html
staging: false
auto_renew: true
reload_hook: systemctl reload nginx

निकास कोड और लॉग #

प्रत्येक निष्पादन एक कोड लौटाता है जिसे आप echo $? से जाँच सकते हैं — स्क्रिप्ट में जोड़ने के लिए उपयोगी:

0OKकोई लंबित बदलाव के बिना संचालन पूर्ण हुआ।
1ERRअवर्गीकृत सामान्य त्रुटि। लॉग जाँचें।
2USAGEअमान्य या अनुपस्थित आर्गुमेंट।
3CHALLENGEACME सत्यापन विफल हुआ (DNS/HTTP)।
4RATELIMITLet's Encrypt की सीमा पहुँच गई।
5RELOADजारी करना OK लेकिन वेब सर्वर का पुनः लोड विफल हुआ।

डिबग करते समय लॉग को लाइव देखें:

terminal
$ sudo journalctl -u imaxe-tls -f
$ sudo tail -f /var/log/imaxe/tls.log

उन्नत उदाहरण #

एक ही प्रमाणपत्र में कई डोमेन

पहला डोमेन मुख्य होता है; बाकी SAN के रूप में जोड़े जाते हैं, सभी एक ही प्रमाणपत्र में:

terminal
$ sudo imaxe tls issue ejemplo.com www.ejemplo.com \
    --email [email protected]

उत्पादन से पहले सुरक्षित परीक्षण

वास्तविक कोटा खर्च न करने के लिए पूरी श्रृंखला को परीक्षण परिवेश के विरुद्ध सत्यापित करें। --standalone के साथ आपको एक कॉन्फ़िगर किए गए वेब सर्वर की आवश्यकता नहीं है:

terminal
$ sudo imaxe tls issue app.ejemplo.com \
    --email [email protected] --standalone --staging \
  || echo "falló con código $?"

समस्या निवारण #

लक्षणसंभावित कारणसमाधान
CHALLENGE निकलता है (कोड 3)डोमेन इस होस्ट पर हल नहीं होता या पोर्ट 80 बंद है।A/AAAA रिकॉर्ड सत्यापित करें और security group में 80 खोलें; पुनः प्रयास करें।
RATELIMIT निकलता है (कोड 4)एक सप्ताह में एक ही डोमेन के बहुत सारे जारी करने।परीक्षण के लिए --staging का उपयोग करें; विंडो के मुक्त होने की प्रतीक्षा करें।
HTTPS लोड होता है पर चेतावनी के साथ--staging में जारी: प्रमाणपत्र विश्वसनीय नहीं है।एक वैध प्रमाणपत्र पाने के लिए --staging के बिना पुनः जारी करें।
RELOAD निकलता है (कोड 5)reload_hook एक अस्तित्वहीन सेवा की ओर इंगित करता है।tls.yml में reload_hook समायोजित करें और renew फिर से चलाएँ।

TLS मॉड्यूल में अटक गए?

हमें «imaxe <module> status --json» का आउटपुट भेजें और हम आपको जल्दी जवाब देंगे।

सहायता से संपर्क करें