bg-tutorials

lighttpd पर SSL सर्टिफिकेट कैसे इंस्टॉल करें

इस ट्यूटोरियल में, आप सीखेंगे Lighttpd पर SSL सर्टिफिकेट कैसे इंस्टॉल करें। यह गाइड मौजूदा कॉन्फ़िगरेशन (मॉड्यूल mod_openssl के साथ अलग सर्टिफिकेट और प्राइवेट की), पुराने बिल्ड्स के लिए लीगेसी कॉम्बाइंड-PEM मेथड, और रीस्टार्ट करने से पहले एक क्विक कॉन्फ़िगरेशन टेस्ट को कवर करती है।

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

Lighttpd पर CSR कोड जेनरेट करें

हम CSR (Certificate Signing Request) जेनरेशन से शुरुआत करेंगे। CSR एनकोडेड टेक्स्ट का एक ब्लॉक है जिसे आप SSL सर्टिफिकेट के लिए आवेदन करने हेतु सर्टिफिकेट अथॉरिटी को भेजते हैं। आपके पास दो विकल्प हैं:

किसी भी टेक्स्ट एडिटर से CSR फ़ाइल खोलें और उसकी सामग्री, जिसमें BEGIN CERTIFICATE REQUEST और END CERTIFICATE REQUEST लाइनें शामिल हैं, को SSL ऑर्डर प्रक्रिया के दौरान संबंधित बॉक्स में कॉपी करें। CSR को सर्टिफिकेट अथॉरिटी को सबमिट करें और वेरिफिकेशन की प्रतीक्षा करें। CA द्वारा आपका SSL सर्टिफिकेट जारी करने के बाद, नीचे दी गई इंस्टॉलेशन प्रक्रिया के साथ जारी रखें।

Lighttpd पर SSL सर्टिफिकेट इंस्टॉल करें

चरण 1: अपनी सर्टिफिकेट फ़ाइलें तैयार करें

वेरिफिकेशन के बाद, सर्टिफिकेट अथॉरिटी आपको ईमेल के ज़रिए सर्टिफिकेट फ़ाइलें भेजती है। आर्काइव डाउनलोड करें और उसे एक्सट्रैक्ट करें। आपके पास होना चाहिए:

  • yourdomain.crt, आपका प्राइमरी SSL सर्टिफिकेट।
  • yourdomain.ca-bundle, इंटरमीडिएट सर्टिफिकेट्स (CA bundle)।
  • yourdomain.key, प्राइवेट की जो आपने CSR के साथ जेनरेट की थी।

Lighttpd सुझाव देता है कि ssl.pemfile द्वारा संदर्भित फ़ाइल में पूरी सर्टिफिकेट चेन हो: पहले आपका सर्टिफिकेट, फिर इंटरमीडिएट सर्टिफिकेट्स। वह कॉम्बाइंड चेन फ़ाइल बनाएं, फिर उसे और प्राइवेट की दोनों को एक ऐसी डायरेक्टरी में ले जाएं जिसे Lighttpd पढ़ सके (उदाहरण के लिए /etc/lighttpd/ssl/):

cat yourdomain.crt yourdomain.ca-bundle > yourdomain.fullchain.pem
sudo mkdir -p /etc/lighttpd/ssl
sudo cp yourdomain.fullchain.pem yourdomain.key /etc/lighttpd/ssl/

प्राइवेट की को इस तरह सीमित करें कि केवल root ही इसे पढ़ सके:

sudo chmod 600 /etc/lighttpd/ssl/yourdomain.key

चरण 2: mod_openssl को सक्षम करें

वर्शन 1.4.56 के बाद से, Lighttpd में TLS सपोर्ट एक लोड होने वाले मॉड्यूल में रहता है जिसे mod_openssl कहा जाता है (अन्य बैकएंड जैसे mod_mbedtls, mod_wolfssl, mod_gnutls, और mod_nss भी मौजूद हैं)। इसे SSL सॉकेट ब्लॉक से पहले अपनी मुख्य कॉन्फ़िगरेशन फ़ाइल में लोड करें:

server.modules += ( "mod_openssl" )

नोट: Lighttpd 1.4.55 और उससे पुराने वर्शन पर, TLS को मॉड्यूल के रूप में लोड करने के बजाय कंपाइल किया जाता था, इसलिए आप उन बिल्ड्स पर इस लाइन को स्किप कर सकते हैं। अपना वर्शन lighttpd -v के साथ चेक करें।

चरण 3: lighttpd.conf को एडिट करें

अपने पसंदीदा एडिटर से मुख्य कॉन्फ़िगरेशन फ़ाइल खोलें (पथ आमतौर पर /etc/lighttpd/lighttpd.conf होता है):

sudo nano /etc/lighttpd/lighttpd.conf

पोर्ट 443 के लिए एक सॉकेट ब्लॉक जोड़ें। मौजूदा Lighttpd (1.4.56+) पर, सर्टिफिकेट चेन और प्राइवेट की को अलग फ़ाइलों में रखें: ssl.pemfile को फुल-चेन फ़ाइल की ओर और ssl.privkey को की की ओर पॉइंट करें। यह वह फॉर्मेट है जो अधिकतर सर्टिफिकेट अथॉरिटीज़ डिलीवर करती हैं, और यह वह कॉन्फ़िगरेशन है जिसे Lighttpd सुझाता है।

$SERVER["socket"] == ":443" {
    ssl.engine  = "enable"
    ssl.pemfile = "/etc/lighttpd/ssl/yourdomain.fullchain.pem"
    ssl.privkey = "/etc/lighttpd/ssl/yourdomain.key"

    # Minimum TLS version (ssl-conf-cmd needs lighttpd 1.4.48+; TLS 1.2 is already the default on 1.4.56+)
    ssl.openssl.ssl-conf-cmd = ( "MinProtocol" => "TLSv1.2" )
}
  • ssl.engine इस सॉकेट के लिए TLS को चालू करता है।
  • ssl.pemfile में आपका सर्टिफिकेट, उसके बाद इंटरमीडिएट चेन रहती है।
  • ssl.privkey में प्राइवेट की होती है। जब भी की pemfile के भीतर नहीं होती, यह वर्शन 1.4.53 से आवश्यक है।

सादे HTTP को HTTPS पर रीडायरेक्ट करने के लिए ताकि विज़िटर हमेशा सुरक्षित वर्शन पर पहुंचें, पोर्ट 80 के लिए एक रीडायरेक्ट जोड़ें (इसके लिए mod_redirect की आवश्यकता होती है, जो अधिकतर डिस्ट्रीब्यूशन पर डिफ़ॉल्ट रूप से लोड होता है):

$SERVER["socket"] == ":80" {
    url.redirect = ( "^/(.*)" => "https://yourdomain.com/$1" )
}

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

लीगेसी मेथड: कॉम्बाइंड PEM और ssl.ca-file

पुराने Lighttpd 1.4.x बिल्ड्स (1.4.53 से पहले) एक सिंगल कॉम्बाइंड PEM का उपयोग करते थे जिसमें सर्टिफिकेट और प्राइवेट की दोनों एक साथ जुड़े हुए होते थे, और इंटरमीडिएट चेन को अलग से ssl.ca-file के माध्यम से दिया जाता था। यदि आप उन पुराने सिस्टम्स में से किसी एक को मेंटेन कर रहे हैं, तो कॉम्बाइंड फ़ाइल इस तरह बनाएं:

cat yourdomain.crt yourdomain.key > /etc/lighttpd/ssl/yourdomain.pem

फिर इसे सॉकेट ब्लॉक में संदर्भित करें:

$SERVER["socket"] == ":443" {
    ssl.engine  = "enable"
    ssl.pemfile = "/etc/lighttpd/ssl/yourdomain.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/yourdomain.ca-bundle"
}

मौजूदा Lighttpd पर, चरण 3 से अलग ssl.pemfile और ssl.privkey फॉर्म को प्राथमिकता दें और पूरी चेन को pemfile में रखें। ssl.ca-file डायरेक्टिव का नाम वर्शन 1.4.60 में ssl.verifyclient.ca-file कर दिया गया, क्योंकि इसका वास्तविक उद्देश्य क्लाइंट सर्टिफिकेट्स को वेरिफाई करना है, न कि सर्वर चेन को सर्व करना।

चरण 4: कॉन्फ़िगरेशन टेस्ट करें

रीस्टार्ट करने से पहले हमेशा सिंटैक्स चेक करें, क्योंकि एक एरर सर्वर को शुरू होने से रोक सकती है। चलाएं:

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf

आपको एक मैसेज दिखना चाहिए कि सिंटैक्स ठीक है। एक गहरी जांच के लिए, जो मॉड्यूल्स को भी लोड और इनिशियलाइज़ करती है, sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf का उपयोग करें। आगे बढ़ने से पहले रिपोर्ट की गई किसी भी एरर को ठीक करें।

चरण 5: Lighttpd को रीस्टार्ट करें

बदलावों को लागू करें। systemd वाले आधुनिक सिस्टम पर, सर्विस को रीस्टार्ट करें:

sudo systemctl restart lighttpd

SysV init का उपयोग करने वाले पुराने सिस्टम्स पर, इसके बजाय init स्क्रिप्ट का उपयोग करें:

sudo /etc/init.d/lighttpd restart

बधाई हो, आपका SSL सर्टिफिकेट अब Lighttpd पर इंस्टॉल हो गया है। परिणाम की पुष्टि करने और तुरंत स्टेटस रिपोर्ट पाने के लिए, हमारे SSL Checker का उपयोग करें या हमारे SSL टूल्स के पूरे सेट को ब्राउज़ करें। एडवांस्ड विकल्पों के लिए, आधिकारिक Lighttpd SSL डॉक्यूमेंटेशन देखें।

अक्सर पूछे जाने वाले प्रश्न

क्या Lighttpd एक कॉम्बाइंड PEM फ़ाइल का उपयोग करता है या अलग सर्टिफिकेट और की फ़ाइलों का?

मौजूदा Lighttpd (1.4.56 और उसके बाद) अलग फ़ाइलों की सलाह देता है: सर्टिफिकेट के साथ इसकी इंटरमीडिएट चेन ssl.pemfile से नामित फ़ाइल में, और प्राइवेट की ssl.privkey में। पुराना कॉम्बाइंड PEM जो सर्टिफिकेट और की को एक ssl.pemfile में जोड़ता था वह अभी भी काम करता है, लेकिन अलग फॉर्म इससे मेल खाता है कि अधिकतर सर्टिफिकेट अथॉरिटीज़ फ़ाइलें कैसे डिलीवर करती हैं और यह डॉक्यूमेंटेड सुझाव है।

क्या मुझे इंटरमीडिएट चेन के लिए अभी भी ssl.ca-file की आवश्यकता है?

नहीं। मौजूदा सुझाव यह है कि इंटरमीडिएट सर्टिफिकेट्स को सीधे आपके सर्टिफिकेट के बाद ssl.pemfile फ़ाइल में शामिल करें। ssl.ca-file डायरेक्टिव चेन को पूरा करने का एक पुराना तरीका था जब pemfile में केवल लीफ सर्टिफिकेट होता था, और वर्शन 1.4.60 में इसका नाम ssl.verifyclient.ca-file कर दिया गया क्योंकि इसकी वास्तविक भूमिका क्लाइंट-सर्टिफिकेट वेरिफिकेशन है।

Lighttpd को रीस्टार्ट करने से पहले मैं कॉन्फ़िगरेशन कैसे चेक करूं?

सिंटैक्स टेस्ट करने के लिए sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf चलाएं, या मॉड्यूल्स को भी लोड करने वाली गहरी टेस्ट के लिए sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf का उपयोग करें। रीस्टार्ट करने से पहले रिपोर्ट की गई किसी भी एरर को ठीक करें, ताकि कोई टाइपो सर्वर को शुरू होने से न रोके।

मेरा ब्राउज़र Lighttpd पर एक अधूरी सर्टिफिकेट चेन क्यों दिखाता है?

इसका आमतौर पर यह मतलब है कि आपकी ssl.pemfile से इंटरमीडिएट सर्टिफिकेट्स गायब हैं। अपने सर्टिफिकेट और CA बंडल को एक फ़ाइल में जोड़ें, पहले सर्टिफिकेट के साथ, और ssl.pemfile को उसकी ओर पॉइंट करें। फिर कॉन्फ़िग को टेस्ट करें और रीस्टार्ट करें। आप हमारे SSL Checker से चेन के पूर्ण होने की पुष्टि कर सकते हैं।

मैं यह कैसे सत्यापित करूं कि SSL सर्टिफिकेट Lighttpd पर इंस्टॉल है?

OpenSSL के साथ अपनी साइट से कनेक्ट करें और यह जो सर्टिफिकेट सर्व करती है उसे पढ़ें:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
यदि सर्टिफिकेट इंस्टॉल है, तो यह इसका इश्यूअर और वैलिडिटी डेट्स प्रिंट करता है। आप ब्राउज़र में अपनी साइट खोलकर पैडलॉक भी चेक कर सकते हैं।

आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!

तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

उड़ान में एक ड्रैगन की एक विस्तृत छवि
द्वारा लिखित

एसएसएल प्रमाणपत्रों में विशेषज्ञता वाला अनुभवी सामग्री लेखक। जटिल साइबर सुरक्षा विषयों को स्पष्ट, आकर्षक सामग्री में बदलना। प्रभावशाली आख्यानों के माध्यम से डिजिटल सुरक्षा को बेहतर बनाने में योगदान करें।