所有部署指南 部署

SSL 证书错误:每个常见错误的完整指南

SSL 证书错误会阻止访客安全访问你的网站。本指南涵盖每个常见错误代码的含义和修复方法——无论你是访客还是网站管理员。

关于最常见的特定错误,请参阅我们的专题指南:“您的连接不是私密连接”修复 →

错误参考表

错误代码 (Chrome)Firefox 等效含义修复
NET::ERR_CERT_DATE_INVALIDSEC_ERROR_EXPIRED_CERTIFICATE证书过期续签证书
NET::ERR_CERT_COMMON_NAME_INVALIDSSL_ERROR_BAD_CERT_DOMAIN域名与证书不匹配获取正确域名的证书
NET::ERR_CERT_AUTHORITY_INVALIDSEC_ERROR_UNKNOWN_ISSUER自签名或不受信任的证书颁发机构使用 Let’s Encrypt
NET::ERR_CERT_REVOKEDSEC_ERROR_REVOKED_CERTIFICATE证书已被吊销获取新证书
NET::ERR_SSL_PROTOCOL_ERRORSSL_ERROR_RX_RECORD_TOO_LONGTLS 握手失败检查服务器配置
NET::ERR_SSL_VERSION_OR_CIPHER_MISMATCHSSL_ERROR_NO_CYPHER_OVERLAP无共同的 TLS 版本/加密套件启用 TLS 1.2+
ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAINHPKP pin 不匹配更新或移除 HPKP pins
ERR_CERTIFICATE_TRANSPARENCY_REQUIRED缺少 CT 日志条目从符合 CT 要求的证书颁发机构重新签发

详细错误解决方案

ERR_CERT_DATE_INVALID — 证书过期

原因: 证书的 Not After 日期已过。使用 90 天的 Let’s Encrypt 证书,如果忘记续签就会发生。

访客修复: 检查设备的日期和时间——如果时钟不对,有效的证书也会显示为过期。

管理员修复:

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

立即续签,替换文件,重新加载服务器。设置监控以防止未来再次发生。

ERR_CERT_COMMON_NAME_INVALID — 域名不匹配

原因: 证书签发给了 example.com 但你访问的是 www.example.com(或反之),或证书覆盖的是完全不同的域名。

管理员修复:

# Check which domains the certificate covers
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -ext subjectAltName

获取包含所有所需域名的新证书。在 GetHTTPS 中,同时添加 example.comwww.example.com

ERR_CERT_AUTHORITY_INVALID — 不受信任的证书颁发机构

原因: 证书是自签名的、由未知证书颁发机构签发的、或中间证书链不完整。

管理员修复:

  • 如果是自签名 → 替换为 Let’s Encrypt 证书
  • 如果证书链不完整 → 使用 fullchain.pem(Nginx)或添加 SSLCertificateChainFile(Apache)
  • 如果是未知证书颁发机构 → 切换到受信任的证书颁发机构

ERR_SSL_PROTOCOL_ERROR — 握手失败

原因: 服务器的 TLS 配置损坏——错误的证书路径、损坏的文件或配置错误。

管理员修复:

# Test the TLS connection
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com

# Check if the certificate and key match
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in privkey.pem | openssl md5
# Hashes must match

常见原因:服务器配置中文件路径错误、证书和密钥来自不同会话、文件权限过于严格。

ERR_SSL_VERSION_OR_CIPHER_MISMATCH — 无兼容的 TLS

原因: 服务器只支持浏览器已放弃的旧 TLS 版本(1.0/1.1),或使用浏览器不支持的加密套件。

管理员修复:

# Nginx — enable modern TLS
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

混合内容警告

原因: 你的 HTTPS 页面通过 HTTP 加载图片、脚本或 CSS。

这不是证书错误——证书没问题,但页面引用了不安全的资源。完整混合内容修复指南 →

诊断流程

遇到任何 SSL 错误时,按以下顺序排查:

1. Check the error code → identifies the category

2. Check the certificate details
   openssl s_client -connect domain:443 -servername domain

3. Is it expired? → Renew
   Domain mismatch? → Re-issue for correct domain
   Chain incomplete? → Use fullchain.pem
   Self-signed? → Switch to Let's Encrypt
   Config error? → Check file paths and permissions

4. After fixing → reload server, clear browser cache, verify

在线诊断工具

工具URL检查内容
SSL Labsssllabs.com/ssltest完整 SSL 审计(A-F 评分)
SSL Checkersslshopper.com/ssl-checker证书链、过期、域名匹配
Certificate Searchcrt.shCertificate Transparency 日志
Why No Padlockwhynopadlock.com混合内容检测

常见问题

修复了错误但浏览器仍然显示

清除浏览器缓存(Ctrl+Shift+Delete)或在隐身窗口中测试。浏览器缓存 SSL 状态,HSTS 可能强制执行缓存的决定。在 Windows 上,还要清除 SSL 状态:Internet 属性 → 内容 → 清除 SSL 状态。

某些浏览器出现错误但其他浏览器没有

不同浏览器有不同的信任存储和缓存。最常见的原因:不完整的证书链,某些浏览器可以从缓存中填充而其他浏览器不能。通过在服务器上提供完整的证书链来修复。

如何防止 SSL 错误?

  1. 监控证书过期 — 设置第 60 天(共 90 天)的告警
  2. 使用 fullchain.pem 而不是 cert.pem — 防止证书链错误
  3. 在证书中包含所有域名变体(www + 非 www)
  4. 为生产服务器设置使用 Certbot 自动续签
  5. 每次更改后用 SSL Labs 测试

相关文章

部署 2026-05-08
如何修复「您的连接不是私密连接」错误
「您的连接不是私密连接」错误表示 SSL 证书有问题。了解 8 种最常见的原因及修复方法 - 适用于访客和网站管理员。
SSL 与证书 2026-05-07
证书信任链详解
浏览器如何通过从根 CA 到中间 CA 再到你的证书的链条来验证 SSL 证书。了解为什么链顺序很重要,以及如何修复'证书不受信任'错误。
部署 2026-05-07
如何检查 SSL 证书过期时间
使用浏览器、OpenSSL 或在线工具检查 SSL 证书的过期时间。设置监控以避免意外过期和服务中断。
部署 2026-05-07
如何修复混合内容警告
混合内容是指 HTTPS 页面通过 HTTP 加载资源。了解如何查找和修复混合内容错误以获得完整的锁头图标。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书