अपनी साइट पर SSL/TLS प्रमाणपत्र इंस्टॉल करने और सभी ट्रैफ़िक को HTTPS पर बाध्य करने के लिए एक व्यावहारिक, चरण-दर-चरण मार्गदर्शिका।
शुरू करने से पहले
निम्नलिखित बातें सुनिश्चित कर लें:
- DNS आपके सर्वर पर रिज़ॉल्व होता हो। आपके डोमेन का A (और यदि आप IPv6 उपयोग करते हैं तो AAAA) रिकॉर्ड सर्वर के सार्वजनिक IP की ओर इंगित करना चाहिए। प्रमाणपत्र प्राधिकरण (CA) पोर्ट 80/443 पर डोमेन नियंत्रण का सत्यापन करते हैं, इसलिए यह पहले से लाइव होना ज़रूरी है।
- पोर्ट 80 और 443 खुले हों आपके फ़ायरवॉल और सिक्योरिटी ग्रुप में।
- आपके पास शेल या पैनल एक्सेस हो। cPanel उपयोगकर्ताओं को कंट्रोल पैनल चाहिए; VPS और डेडिकेटेड उपयोगकर्ताओं को
sudoके साथ SSH चाहिए।
आप यह जाँच सकते हैं कि आपका डोमेन कहाँ रिज़ॉल्व होता है, इस कमांड से:
dig +short A example.sa
प्रमाणपत्र के प्रकार का चयन
| प्रकार | सत्यापन | किसके लिए सर्वोत्तम |
|---|---|---|
| Domain Validated (DV) | केवल डोमेन नियंत्रण | ब्लॉग, छोटे व्यवसाय, अधिकांश साइटें |
| Organization Validated (OV) | व्यावसायिक पहचान जाँच | कॉर्पोरेट साइटें |
| Extended Validation (EV) | पूर्ण कानूनी जाँच | बैंक, बड़े ई-कॉमर्स |
| Wildcard | *.example.sa को कवर करता है |
अनेक सबडोमेन |
अधिकांश साइटों के लिए Let's Encrypt का एक निःशुल्क DV प्रमाणपत्र पर्याप्त होता है। यदि आपको OV/EV या गारंटीड सपोर्ट वाला wildcard चाहिए, तो Skyline आपके होस्टिंग प्लान के हिस्से के रूप में प्रबंधित प्रमाणपत्र जारी करता है।
विकल्प 1 — AutoSSL के साथ cPanel (सबसे आसान)
यदि आपकी साइट शेयर्ड या प्रबंधित cPanel होस्टिंग पर चलती है, तो AutoSSL सब कुछ स्वचालित रूप से संभाल लेता है।
- cPanel में लॉग इन करें।
- Security के अंतर्गत, SSL/TLS Status खोलें।
- जिन डोमेन को आप कवर करना चाहते हैं उन्हें टिक करें और Run AutoSSL पर क्लिक करें।
- कुछ ही मिनटों में पैडलॉक हरा हो जाता है और एक निःशुल्क DV प्रमाणपत्र इंस्टॉल हो जाता है तथा स्वतः-नवीनीकरण (auto-renew) के लिए सेट हो जाता है।
कहीं और से खरीदा गया प्रमाणपत्र इंस्टॉल करने के लिए, SSL/TLS → Manage SSL sites पर जाएँ, प्रमाणपत्र (CRT), निजी कुंजी (KEY) और CA bundle पेस्ट करें, फिर Install Certificate पर क्लिक करें।
विकल्प 2 — Nginx पर Let's Encrypt (VPS / क्लाउड सर्वर)
क्लाउड सर्वर या VPS पर, Certbot का उपयोग करें। Ubuntu/Debian पर:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
एक ही कमांड में प्रमाणपत्र जारी करें और स्वतः-कॉन्फ़िगर करें:
sudo certbot --nginx -d example.sa -d www.example.sa
Certbot डोमेन का सत्यापन करता है, प्रमाणपत्र प्राप्त करता है, आपके सर्वर ब्लॉक को संपादित करता है, और HTTPS रीडायरेक्ट सेट करने का विकल्प देता है। HTTPS को स्वचालित रूप से बाध्य करने के लिए प्रॉम्प्ट आने पर 2: Redirect चुनें।
यदि आप इसे मैन्युअल रूप से सेट करना पसंद करते हैं, तो आपके सर्वर ब्लॉक को जारी की गई फ़ाइलों का संदर्भ देना चाहिए:
server {
listen 443 ssl;
server_name example.sa www.example.sa;
ssl_certificate /etc/letsencrypt/live/example.sa/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.sa/privkey.pem;
# Modern TLS only
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/example.sa;
index index.html index.php;
}
परीक्षण करें और रीलोड करें:
sudo nginx -t && sudo systemctl reload nginx
विकल्प 3 — Apache पर Let's Encrypt
Apache प्लगइन इंस्टॉल करें:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.sa -d www.example.sa
Certbot एक SSL वर्चुअल होस्ट बनाता है और, जब आप redirect चुनते हैं, तो आपके लिए HTTPS नियम जोड़ देता है। जनरेट किया गया <VirtualHost *:443> ब्लॉक /etc/letsencrypt/live/ के अंतर्गत SSLCertificateFile और SSLCertificateKeyFile का संदर्भ देता है।
HTTPS को अनिवार्य बनाना
प्रमाणपत्र इंस्टॉल करने मात्र से आगंतुक असुरक्षित http:// संस्करण तक पहुँचना बंद नहीं करते। आपको सभी HTTP ट्रैफ़िक को एक स्थायी (301) रीडायरेक्ट के साथ HTTPS पर रीडायरेक्ट करना होगा।
Nginx — एक समर्पित पोर्ट-80 ब्लॉक जोड़ें:
server {
listen 80;
server_name example.sa www.example.sa;
return 301 https://$host$request_uri;
}
Apache — अपने .htaccess या वर्चुअल होस्ट में:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
cPanel — Domains → Force HTTPS Redirect के अंतर्गत, प्रत्येक डोमेन के लिए स्विच को चालू करें।
HSTS सक्षम करें
HTTP Strict Transport Security ब्राउज़रों को बताता है कि वे केवल HTTPS पर ही कनेक्ट करें, जिससे शुरुआती असुरक्षित पहले अनुरोध को समाप्त किया जाता है और डाउनग्रेड हमलों से सुरक्षा मिलती है। अपना रीडायरेक्ट सही ढंग से काम करने की पुष्टि हो जाने पर यह हेडर जोड़ें।
Nginx (443 सर्वर ब्लॉक के अंदर):
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
परीक्षण करते समय एक छोटे max-age से शुरुआत करें, फिर इसे बढ़ाएँ। includeSubDomains तभी जोड़ें जब प्रत्येक सबडोमेन HTTPS सर्व करता हो।
सब कुछ काम कर रहा है, यह सत्यापित करें
http://example.saपर जाएँ — इसेhttps://पर रीडायरेक्ट होना चाहिए।- ब्राउज़र में पैडलॉक और एक वैध प्रमाणपत्र की पुष्टि करें।
- टर्मिनल से रीडायरेक्ट और हेडर जाँचें:
curl -sI http://example.sa | grep -i location
curl -sI https://example.sa | grep -i strict-transport
- A ग्रेड, सही चेन और कोई mixed content न होने की पुष्टि के लिए एक बाहरी स्कैन (जैसे SSL Labs) चलाएँ।
यदि पेज अब भी "Not secure" दिखाते हैं, तो mixed content की तलाश करें — ऐसे एसेट (इमेज, स्क्रिप्ट, CSS) जो http:// के साथ हार्ड-कोडेड हैं। उन्हें https:// या प्रोटोकॉल-रिलेटिव URL में अपडेट करें।
नवीनीकरण
Let's Encrypt प्रमाणपत्र 90 दिनों तक चलते हैं। Certbot स्वचालित रूप से एक systemd timer या cron job इंस्टॉल कर देता है; इसकी पुष्टि करें:
sudo certbot renew --dry-run
cPanel AutoSSL और Skyline प्रबंधित प्रमाणपत्र स्वयं ही नवीनीकृत हो जाते हैं, इसलिए ट्रैक करने के लिए कुछ नहीं रहता।
डेटा निवास संबंधी टिप्पणी
यदि आपके दर्शक सऊदी अरब या GCC में हैं, तो होस्टिंग और TLS को देश के भीतर (in-Kingdom) टर्मिनेट करने से ट्रैफ़िक और प्रमाणपत्र कुंजियाँ ऐसे इन्फ्रास्ट्रक्चर पर रहती हैं जो PDPL, NCA और SDAIA आवश्यकताओं के अनुरूप है — और यदि किसी चीज़ पर ध्यान देने की ज़रूरत हो तो स्थानीय अरबी सपोर्ट भी मिलता है। यही मॉडल Skyline की क्लाउड और व्यावसायिक ईमेल होस्टिंग के पीछे है। प्रमाणपत्र प्रकारों, चेन और समस्या-निवारण के बारे में अधिक जानकारी के लिए, SSL प्रमाणपत्र संसाधन हब देखें।
Comments
0 total · 0 threads