bg-tutorials

Apache पर SSL Certificate कैसे Install करें

इस गाइड में, आप सीखेंगे कि Apache पर SSL certificate कैसे install करें, चरण दर चरण। ये निर्देश Apache 2.4 पर लागू होते हैं, जो वर्तमान स्थिर रिलीज़ लाइन है।

विषय-सूची

Apache पर CSR code कैसे generate करें?

Certificate Signing Request, या सरल शब्दों में CSR, एक छोटी टेक्स्ट फ़ाइल है जिसमें आपके domain ownership और/या कंपनी के बारे में जानकारी होती है। CSR generate करना SSL खरीदने की प्रक्रिया का एक अभिन्न हिस्सा है, और सभी commercial Certificate Authorities SSL आवेदकों से इस चरण को पूरा करने की अपेक्षा रखती हैं।

आपके पास दो विकल्प हैं:

Apache पर SSL certificate install करें

Certificate Authority द्वारा SSL certificate sign करके भेजने के बाद, आप इसे अपने Apache server पर सुरक्षित रूप से install कर सकते हैं। नीचे दिए गए चरणों का पालन करें।

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

अपने Certificate Authority से प्राप्त ZIP फ़ोल्डर से फ़ाइलें डाउनलोड करें और निकालें। आपको आमतौर पर ये मिलेंगी:

  • .crt फ़ाइल – आपका प्राथमिक SSL certificate।
  • .ca-bundle फ़ाइल – intermediate (और root) certificates जो trust की chain बनाते हैं। यह chain आवश्यक है ताकि browsers और applications आपके certificate को verify कर सकें। इसके बिना, कुछ clients आपकी साइट को असुरक्षित के रूप में चिह्नित कर सकते हैं।

इन फ़ाइलों को, अपने CSR के साथ generate की गई private key (.key) के साथ, अपने server पर एक सुरक्षित directory में upload करें, उदाहरण के लिए /etc/ssl/। private key को केवल root द्वारा readable रखें (chmod 600)।

अनुशंसित (Apache 2.4.8 और नए): अपने certificate और CA bundle को एक single “full chain” फ़ाइल में मिलाएं। Apache 2.4.8 से, SSLCertificateFile directive इस फ़ाइल से सीधे intermediate certificates लोड करती है, यही कारण है कि पुरानी SSLCertificateChainFile directive की अब आवश्यकता नहीं है:

cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt

यदि आपके CA ने intermediate certificates को अलग-अलग फ़ाइलों के रूप में दिया है, तो पहले अपने certificate के साथ उन्हें concatenate करें, उसके बाद intermediates को उस क्रम में रखें जो आपके certificate को sign करने वाले से root तक जाता है (root certificate स्वयं वैकल्पिक है):

cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt

उदाहरण के लिए, Sectigo PositiveSSL certificate install करते समय, आप अपने domain certificate को Sectigo intermediate bundle के साथ concatenate करेंगे। हमेशा अपने CA द्वारा प्रदान किए गए सटीक फ़ाइल नामों का उपयोग करें।

चरण 2: SSL module (mod_ssl) सक्षम करें

HTTPS configure करने से पहले, सुनिश्चित करें कि Apache का SSL module सक्षम है।

Debian/Ubuntu पर, mod_ssl (और mod_headers, जिसकी आपको चरण 4 में HSTS header के लिए आवश्यकता होगी) सक्षम करें:

sudo a2enmod ssl
sudo a2enmod headers

RHEL/CentOS/AlmaLinux/Rocky Linux पर, SSL module package install करें (module install होने के बाद स्वचालित रूप से लोड हो जाता है):

sudo dnf install mod_ssl

चरण 3: Apache configuration फ़ाइल का पता लगाएं

आपके operating system और Apache version के आधार पर, configuration अलग-अलग फ़ाइलों में हो सकती है। निम्नलिखित स्थानों में से किसी एक में httpd.conf, apache2.conf, या एक dedicated SSL/site configuration फ़ाइल देखें:

  • Debian/Ubuntu: मुख्य config /etc/apache2/apache2.conf; per-site configs /etc/apache2/sites-available/ में।
  • RHEL/CentOS/AlmaLinux/Rocky: मुख्य config /etc/httpd/conf/httpd.conf; SSL config /etc/httpd/conf.d/ssl.conf

नोट: यदि आपका Apache server Ubuntu पर चल रहा है, तो आप हमारे dedicated Ubuntu के लिए SSL installation निर्देश भी देख सकते हैं।

चरण 4: virtual host configure करें

सबसे पहले, अपनी वर्तमान configuration फ़ाइल का backup लें। इस तरह, यदि कुछ गलत होता है, तो आप अपने परिवर्तनों को जल्दी से वापस कर सकते हैं:

sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup

अब configuration फ़ाइल खोलें और HTTPS (port 443) virtual host सेट करें। एक पूर्ण, आधुनिक virtual host इस प्रकार दिखता है:

<VirtualHost *:443>
    ServerName  www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example

    SSLEngine on

    # Apache 2.4.8+ : server certificate + intermediate chain in ONE file
    SSLCertificateFile    /etc/ssl/example_com_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/example_com.key

    # Recommended TLS hardening (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # Tell browsers to always use HTTPS (enable only after HTTPS works)
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

    ErrorLog  ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>

example.com, document root, और फ़ाइल paths को अपने मूल्यों से बदलें। यहाँ बताया गया है कि मुख्य directives क्या करती हैं:

  • SSLEngine on – इस virtual host के लिए SSL/TLS सक्षम करता है।
  • SSLCertificateFile – चरण 1 में बनाई गई आपकी full-chain फ़ाइल (certificate + intermediates) का path। Apache 2.4.8+ पर यह single directive deprecated SSLCertificateChainFile की जगह लेती है।
  • SSLCertificateKeyFile – आपकी private key का path, जो CSR के साथ generate की गई थी।
  • SSLProtocol -all +TLSv1.2 +TLSv1.3 – पुराने, असुरक्षित SSL/TLS protocols को अक्षम करता है और केवल TLS 1.2 और TLS 1.3 की अनुमति देता है।
  • Strict-Transport-Security (HSTS) – browsers को केवल HTTPS पर connect करने का निर्देश देता है। इसके लिए mod_headers (चरण 2 में सक्षम) की आवश्यकता है। इसे तभी चालू करें जब आपने पुष्टि कर ली हो कि HTTPS सही तरीके से काम कर रहा है।

सुनिश्चित करें कि इनमें से कोई भी पंक्ति # से शुरू न हो (जो उन्हें comment out कर देगा)। Debian/Ubuntu पर, ${APACHE_LOG_DIR} /var/log/apache2 को resolve करता है; RHEL-based systems पर इसके बजाय /var/log/httpd/ का उपयोग करें।

Legacy servers: यदि आप Apache के 2.4.8 से पुराने version पर हैं, तो certificate और chain को अलग-अलग फ़ाइलों में रखें और SSLCertificateFile के नीचे deprecated SSLCertificateChainFile /etc/ssl/example_com.ca-bundle directive जोड़ें। किसी भी आधुनिक server पर, ऊपर दिया गया full-chain approach बेहतर है।

Advanced hardening (वैकल्पिक): एक मजबूत cipher suite और OCSP stapling के लिए, Mozilla SSL Configuration Generator के साथ एक tailored configuration generate करें। OCSP stapling के लिए आपके global Apache configuration में एक SSLStaplingCache directive की भी आवश्यकता होती है।

चरण 5: HTTP को HTTPS पर redirect करें

यह सुनिश्चित करने के लिए कि visitors हमेशा आपकी साइट के सुरक्षित version तक पहुँचें, port 80 पर एक दूसरा virtual host जोड़ें जो सभी HTTP traffic को HTTPS पर permanently redirect करे:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

चरण 6: अपनी configuration का परीक्षण करें और Apache restart करें

restart करने से पहले हमेशा अपनी configuration का परीक्षण करें। एक syntax error आपकी साइट को offline कर सकती है, इसलिए चलाएं:

sudo apachectl configtest

यदि सब कुछ सही है, तो आपको यह दिखेगा:

Syntax OK

अब Apache को reload करके परिवर्तन लागू करें (reload मौजूदा connections को बाधित किए बिना नई configuration को सक्रिय करता है):

sudo systemctl reload apache2     # Debian/Ubuntu
sudo systemctl reload httpd       # RHEL/CentOS/AlmaLinux/Rocky

यदि reload पर्याप्त नहीं है, तो इसके बजाय service restart करें (sudo systemctl restart apache2 या httpd)। systemd के बिना पुराने systems पर, sudo apachectl graceful का उपयोग करें।

यदि installation सफल रही, तो बधाई! आपकी वेबसाइट अब SSL/TLS से सुरक्षित है।

अपनी SSL installation का परीक्षण करें

Apache पर अपना SSL certificate install करने के बाद, सत्यापित करें कि सब कुछ अपेक्षित रूप से काम कर रहा है। एक instant scan किसी भी error या vulnerabilities को उजागर करेगा जो आपके certificate के प्रदर्शन को प्रभावित कर सकती हैं। अपनी installation की स्थिति जांचने के लिए हमारे SSL Checker tool का उपयोग करें।

आप command line से सीधे certificate और उसकी chain की भी पुष्टि कर सकते हैं:

openssl s_client -connect www.example.com:443 -servername www.example.com

Apache के लिए SSL certificate कहाँ से खरीदें?

Apache के लिए SSL certificate प्राप्त करने का सबसे अच्छा स्थान SSL Dragon है। हम अपने पूरे SSL products की range में बेजोड़ कीमतें और छूट प्रदान करते हैं, और हमने आपकी वेबसाइट को bulletproof सुरक्षा से लैस करने के लिए बाजार के सर्वश्रेष्ठ SSL brands को सावधानीपूर्वक चुना है। हमारे सभी SSL certificates Apache के साथ compatible हैं। अभी SSL certificate प्राप्त करें!

ध्यान रखें कि SSL/TLS certificate की validity अवधि घट रही है: अधिकतम validity मार्च 2026 में 200 दिन, 2027 में 100 दिन, और 2029 तक केवल 47 दिन हो जाएगी। छोटे lifecycle का अर्थ है अधिक बार renewal, इसलिए अपनी renewal प्रक्रिया (और automation) की पहले से योजना बनाना उचित है।

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

Apache में SSL क्या है?

SSL (Secure Sockets Layer), जिसे अब TLS (Transport Layer Security) ने उत्तराधिकृत किया है, एक cryptographic protocol है जो दो network endpoints के बीच communication को encrypt करता है, उदाहरण के लिए Apache जैसा web server और उपयोगकर्ता का browser।

मैं कैसे जानूं कि Apache SSL सक्षम है?

Debian और Ubuntu distributions पर, SSL protocol directive के लिए configuration में खोजें:

grep -ir SSLProtocol /etc/apache2/

यदि SSL configure है, तो आपको इसके समान output दिखेगा:

/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3

आप यह भी पुष्टि कर सकते हैं कि SSL module running server में लोड है:

apachectl -M | grep ssl

Apache में SSL .conf फ़ाइल कहाँ है?

Configuration फ़ाइल आपके OS और setup के आधार पर अलग-अलग स्थानों में हो सकती है। Debian/Ubuntu पर, /etc/apache2/apache2.conf और /etc/apache2/sites-available/ में per-site फ़ाइलें देखें। RHEL/CentOS/AlmaLinux/Rocky पर, /etc/httpd/conf/httpd.conf और /etc/httpd/conf.d/ssl.conf देखें।

SSLCertificateFile और SSLCertificateChainFile में क्या अंतर है?

SSLCertificateFile आपके server certificate की ओर इंगित करती है। Apache 2.4.8 से, वही फ़ाइल intermediate certificates भी रख सकती है, इसलिए यह complete chain serve करती है। SSLCertificateChainFile उन intermediates को अलग से supply करने का पुराना तरीका था, लेकिन इसे Apache 2.4.8 से deprecated कर दिया गया है। किसी भी आधुनिक server पर, certificate और intermediates को एक फ़ाइल में रखें और केवल SSLCertificateFile से reference करें।

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

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

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

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