सभी डिप्लॉयमेंट गाइड डिप्लॉयमेंट

SSL Certificate की Expiry कैसे Check करें

एक expired SSL certificate की वजह से browsers पूरे page पर security warning दिखाते हैं, जो visitors को आपकी site तक पहुंचने से रोकती है। यहां बताया गया है कि कैसे check करें कि आपका certificate कब expire होता है और monitoring कैसे set करें।

Browser से Check करें

  1. https:// के साथ अपनी site पर जाएं
  2. Address bar में padlock icon पर click करें
  3. “Certificate” या “Connection is secure” → “Certificate is valid” पर click करें
  4. “Valid to” या “Expires on” date देखें

OpenSSL से Check करें (Command Line)

Remote Check (किसी भी machine से)

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate

Output: notAfter=Aug 5 12:00:00 2026 GMT

Local File Check

openssl x509 -noout -enddate -in /etc/ssl/gethttps/fullchain.pem

सभी Details एक साथ Check करें

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates

One-liner Script से Check करें

Check करें कि certificate 30 days के अंदर expire होता है या नहीं:

if openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -checkend 2592000 > /dev/null 2>&1; then
  echo "Certificate is valid for at least 30 more days"
else
  echo "WARNING: Certificate expires within 30 days!"
fi

एक साथ Multiple Domains Check करें

अगर आप कई domains manage करते हैं, तो उन सभी को एक loop में check करें:

for domain in example.com www.example.com api.example.com; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
  echo "$domain — expires: $expiry"
done

Cron के साथ Automated Monitoring

एक daily cron job बनाएं जो certificate expiry 30 days के अंदर होने पर आपको email करे:

#!/bin/bash
# /usr/local/bin/check-ssl-expiry.sh के रूप में save करें

DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
WARN_SECS=$((WARN_DAYS * 86400))

for domain in $DOMAINS; do
  if ! echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | \
    openssl x509 -noout -checkend $WARN_SECS > /dev/null 2>&1; then
    echo "WARNING: $domain certificate expires within $WARN_DAYS days" | \
      mail -s "SSL Expiry Warning: $domain" admin@example.com
  fi
done

Crontab में add करें: 0 9 * * * /usr/local/bin/check-ssl-expiry.sh

Monitoring Services Set करें

Zyada robust approach के लिए, monitoring service use करें:

MethodकैसेCostAlert Options
Calendar ReminderIssue होने के 60 दिन बाद set करेंFreeManual
Cron ScriptDaily check script चलाएंFreeEmail
UptimeRobotSSL monitor add करें, alert threshold set करेंFree tierEmail, Slack, webhook
Better UptimeIncident management के साथ SSL monitoringFree tierEmail, SMS, Slack
Certbot auto-renewalsystemd timer के through certbot renewFreeExpiry को पूरी तरह रोकता है

Let’s Encrypt के 90-day certificates के लिए, day 60 पर renew करें (30-day buffer)।

कौन से Certificate Details Verify करने चाहिए?

Expiry date के अलावा, time-to-time check करें:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -text | grep -E 'Subject:|Issuer:|Not After|DNS:'

यह दिखाता है:

  • Subject/SAN — certificate सही domains cover करता है
  • Issuer — expected CA (जैसे, Let’s Encrypt) द्वारा issued
  • Not After — expiry date
  • DNS names — SAN field में सभी domain names

FAQ

Certificate expire होने पर क्या होता है?

Browsers “Your connection is not private” (Chrome) या “Warning: Potential Security Risk Ahead” (Firefox) जैसी full-page warning दिखाते हैं। ज्यादातर visitors तुरंत चले जाएंगे। Search engines भी certificate renew होने तक आपके pages की ranking गिरा सकते हैं या उन्हें de-index कर सकते हैं।

कितनी बार check करनी चाहिए?

अगर आपके पास automated renewal (Certbot) है, तो safety net के रूप में monthly checks करें। अगर आप manually renew करते हैं (GetHTTPS), तो day 50 पर check करें और day 60 पर एक hard reminder set करें। 2029 में 47-day validity आने पर, monitoring और भी important हो जाती है।

क्या मैं command-line access के बिना expiry check कर सकता हूं?

हां। SSL Labs Server Test और SSL Shopper के SSL Checker जैसे online tools expiry date सहित certificate details दिखाते हैं — बस अपना domain enter करें। Browser DevTools भी यह दिखाता है (padlock icon → Certificate details)।

अगर मेरा certificate पहले ही expire हो गया तो?

तुरंत renew करें। नया certificate get करने के लिए GetHTTPS पर जाएं, अपने server पर files replace करें, और web server को reload करें। Process में 5 minutes लगते हैं। Certificate expire होने देने का कोई penalty नहीं है — बस renew करें और नया install करें।

क्या मैं एक script से multiple domains monitor कर सकता हूं?

हां। यहां एक script है जो आपके सभी domains check करती है और remaining days दिखाती है:

#!/bin/bash
for domain in example.com www.example.com api.example.com; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
  days_left=$(( ($(date -d "$expiry" +%s) - $(date +%s)) / 86400 ))
  if [ "$days_left" -lt 30 ]; then
    echo "WARNING $domain: $days_left days left"
  else
    echo "OK $domain: $days_left days left"
  fi
done

Note: date -d syntax Linux-specific है। macOS पर, date -j -f "%b %d %H:%M:%S %Y %Z" use करें।

संबंधित लेख

शुरुआत करें 2026-05-07
Let's Encrypt certificate कैसे renew करें
Let's Encrypt certificates हर 90 days में expire होते हैं। GetHTTPS (manual) या Certbot (automatic) से renew करना सीखें, और 47-day validity के लिए तैयार हों।
SSL और Certificates 2026-05-07
SSL Certificate Validity: 47-Day Change Explained
CA/Browser Forum ने 2029 तक SSL certificate validity 47 days तक reduce करने के लिए vote किया। जानें timeline, आपकी website के लिए इसका क्या मतलब है, और कैसे prepare करें।
डिप्लॉयमेंट 2026-05-08
Nginx पर SSL Certificate कैसे Install करें
Nginx पर SSL certificate install करने की step-by-step guide। File upload, full server block config, TLS best practices, HTTP/2, HSTS, redirect setup, testing, और 6 common errors का troubleshooting included है।
अपने browser में मुफ़्त SSL certificate पाएँ
कोई installation नहीं, कोई account नहीं। आपकी private key कभी आपका device नहीं छोड़ती।
अपना certificate पाएँ