Security · 6 min · 2025-05-15
Never Let Your SSL Certificate Expire Again
Automated SSL certificate monitoring with alerts before expiration. Keep your websites secure and avoid browser warnings.
> For people who run servers
Written in 2025 for ServerGuard
Product statements in this guide may be out of date. For what works today, see the ServerGuard page and the capabilities.
The Cost of an Expired SSL Certificate
When your SSL certificate expires:
- Visitors see a scary browser warning
- Google may de-index your pages
- APIs relying on your domain will fail
- Your brand credibility takes a hit
- Revenue loss from blocked transactions
Even major companies like LinkedIn, Microsoft, and Spotify have had SSL certificate expiration incidents.
How SSL Monitoring Works
ServerGuard's HTTP Monitor checks your SSL certificates automatically:
- Probes your endpoints on a schedule (every 5 minutes)
- Checks certificate expiry date
- Validates the certificate chain for trust issues
- Alerts you at 30, 14, 7, and 1 day before expiration
Setting Up SSL Monitoring
With ServerGuard
Add your domains in the HTTP Monitor section:
- Go to HTTP Monitor in your dashboard
- Click Add Endpoint
- Enter your HTTPS URL
- Set check interval (recommended: 5 minutes)
- Enable SSL certificate monitoring
With Let's Encrypt Auto-Renewal
# Install certbot
sudo apt install certbot python3-certbot-nginx
# Get a certificate
sudo certbot --nginx -d yourdomain.com
# Verify auto-renewal
sudo certbot renew --dry-run
# Check renewal timer
systemctl status certbot.timerManual Check
# Check certificate expiry
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates
# Check days until expiry
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddateBest Practices
- Automate renewal — Use Let's Encrypt with certbot for free, auto-renewing certificates
- Monitor anyway — Even with auto-renewal, things can fail. Always monitor
- Alert early — 30 days before expiry gives you plenty of time
- Test the renewal — Run
certbot renew --dry-runmonthly - Monitor all domains — Don't forget subdomains, API endpoints, and staging servers
Common Pitfalls
- DNS changes blocking Let's Encrypt verification
- Firewall rules blocking port 80 for HTTP-01 challenges
- Certbot not running due to disabled timer/cron
- Certificate chain issues after renewal
- Hardcoded certificate paths in application config
Conclusion
SSL certificate monitoring is simple to set up and prevents embarrassing, costly outages. Add it to your monitoring stack today and never worry about expired certificates again.