How to Fix Expired SSL Certificates and Failed Renewals
Symptoms Checklist
If you observe any of the following symptoms, your site or setup is affected by this issue:
- Users blocked with screen: 'NET::ERR_CERT_DATE_INVALID'
- Automated email warnings from Let's Encrypt saying your certificate is expiring
- Error: 'The security certificate presented by this website has expired'
- Traffic dropping suddenly due to browsers preventing visits
Why This Happens
An expired certificate indicates that the cryptographic validation has passed its validity window. Web servers must generate fresh validations to maintain secure encrypted tunnels.
Common Underlying Causes
- Failed Auto-Renewal: The background cron task (Certbot or AutoSSL) failed to validate the domain.
- DNS Mismatch: Changing DNS records so the challenge server points to a different IP.
- Port 80 Closed: Let's Encrypt validation server requires port 80 open to check domains, but it was closed.
DIY Quick Fix Steps
Here is what you can check or execute immediately to troubleshoot the issue:
- Log into your VPS server command line via SSH.
- Check certbot status: Run 'sudo certbot renew --dry-run' to inspect validation errors.
- Verify port 80 is open in firewall: Run 'sudo ufw allow 80/tcp'.
- Check DNS record points to the exact server IP. Then run 'sudo certbot renew' and restart Nginx.
Need a Permanent Professional Solution?
Avoid the trial-and-error. I can analyze and completely fix this issue for you securely with full logging.
View My SSL Cert Setup