Common SSL Certificate Errors and How to Fix Them

SSL/TLS errors block visitors from accessing your site securely and can be caused by several distinct issues. This guide covers the most common ones and how to diagnose each.

"NET::ERR_CERT_DATE_INVALID" / Certificate Expired

The certificate's validity period has ended. Check expiration:

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

Renew immediately — see How to Renew and Auto-Renew Let's Encrypt Certificates, and verify the automatic renewal timer is actually active going forward to prevent recurrence.

"NET::ERR_CERT_COMMON_NAME_INVALID"

The certificate doesn't cover the domain/subdomain being accessed (e.g. certificate issued for example.com but visitor is on www.example.com). Reissue the certificate including all needed domains:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

"NET::ERR_CERT_AUTHORITY_INVALID" (Self-Signed or Untrusted Certificate)

The certificate wasn't issued by a trusted Certificate Authority — common with self-signed certificates used for testing. Replace with a real certificate from Let's Encrypt (free) via Certbot; see How to Install Let's Encrypt SSL with Certbot (Nginx & Apache).

Mixed Content Warnings

The page loads over HTTPS but references some resources (images, scripts) over plain HTTP. Update all internal resource URLs to use HTTPS or protocol-relative paths, and check for any hardcoded http:// URLs in your site's database/configuration (common after migrating an existing site to HTTPS).

"SSL_ERROR_NO_CYPHER_OVERLAP"

The client and server can't agree on a supported encryption method — usually caused by an outdated client (very old browser/OS) or an overly restrictive server-side cipher configuration. Review your Nginx/Apache SSL configuration for excessively narrow cipher suite restrictions.

Certificate Chain Issues ("Incomplete Certificate Chain")

The server isn't sending the intermediate certificate(s) needed for browsers to fully validate the chain to a trusted root. Certbot handles this automatically in standard configurations; if manually managing certificates, ensure your configuration references the full chain file, not just the leaf certificate.

Certificate Renewal Failing Silently

sudo certbot renew --dry-run

Run this proactively to catch renewal problems before the certificate actually expires — common causes include port 80 being blocked by the firewall or DNS no longer pointing to this server.

Diagnosing Any SSL Issue: Start Here

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443

This shows the full certificate chain and any handshake errors directly, often revealing the exact problem faster than browser error messages alone.

Using Online SSL Checkers

A dedicated SSL testing tool (search for "SSL Labs test" or similar) provides a detailed breakdown of certificate validity, chain completeness, and configuration issues — useful for a comprehensive one-time check beyond what command-line tools show at a glance.

Common Errors

Certificate looks fine in the browser but automated tools report an error — browsers cache certificate validation aggressively; test from an incognito/private window or a different tool to rule out stale caching.

FAQ

Why did my site suddenly show a certificate error with no changes on my end?
The most common cause is silent renewal failure — run certbot renew --dry-run to check, and verify DNS still points to the correct server.

Continue Reading

Browse more articles in SSL/TLS & Certificates.

  • ssl certificate errors, fix ssl error, certificate expired, ssl troubleshooting
  • 0 用戶發現這個有用
這篇文章有幫助嗎?

相關文章

How to Install Let's Encrypt SSL with Certbot (Nginx & Apache)

Let's Encrypt provides free, automated SSL/TLS certificates trusted by all major browsers....

HTTP to HTTPS Redirect: Forcing SSL on Nginx & Apache

Once SSL is installed, visitors reaching your site over plain HTTP should be automatically...

How to Renew and Auto-Renew Let's Encrypt Certificates

Let's Encrypt certificates are valid for only 90 days by design, to limit the impact of a...

How to Install a Wildcard SSL Certificate with Certbot DNS Challenge

A wildcard certificate secures a domain and all of its subdomains (*.example.com) with a single...

How to Secure a VPS Without a Domain Name (IP-Only SSL Options)

Let's Encrypt and most free SSL providers require a domain name — they cannot issue a...