所有部署指南 部署

如何修复「您的连接不是私密连接」错误

“您的连接不是私密连接”是最常见的 SSL 错误。它表示浏览器检测到网站的 SSL 证书存在问题,拒绝建立安全连接。该错误在 Chrome 中显示为 NET::ERR_CERT_*,在 Firefox 中显示为”警告:面临潜在的安全风险”,在 Safari 中显示为”此连接不是私密连接”。

本指南涵盖两端的修复方法:如果你是看到错误的访客,以及如果你是网站管理员而访客报告此错误。

如果你是访客(快速修复)

这些步骤修复的是客户端原因——你设备上的问题,而非网站的问题。

1. 刷新页面

该错误有时是暂时的——TLS 握手期间的网络故障。按 F5 或 Ctrl+R。

2. 检查设备的日期和时间

SSL 证书有有效期。如果你电脑的时钟不对,浏览器会认为证书已过期或尚未生效。修复:

  • Windows: 设置 → 时间和语言 → 自动设置时间
  • macOS: 系统设置 → 通用 → 日期与时间 → 自动设置
  • Linux: sudo timedatectl set-ntp true

3. 尝试隐身/无痕模式

如果在隐身模式下正常但普通模式不行,说明有浏览器扩展在干扰——通常是检查 HTTPS 流量的杀毒软件、VPN 或广告拦截器。逐个禁用扩展找出问题。

4. 清除浏览器缓存和 SSL 状态

浏览器可能缓存了旧证书:

  • Chrome: 设置 → 隐私 → 清除浏览数据 → 缓存的图片和文件
  • Windows: Internet 属性 → 内容 → 清除 SSL 状态
  • macOS: 钥匙串访问 → 搜索该域名 → 删除缓存条目

5. 检查网络

企业代理、酒店 Wi-Fi 强制门户和一些 VPN 会注入自己的证书。尝试:

  • 断开 VPN 再试
  • 切换到其他网络(如手机热点)
  • 如果在酒店/机场 Wi-Fi,先连接强制门户

6. 更新浏览器

旧版浏览器可能不信任较新的证书颁发机构或不支持现代 TLS。更新到最新版本。

应该点击”继续前往”吗? 只有当你理解风险并信任该网站时才可以(例如你自己的开发服务器使用自签名证书)。绝不要在银行、邮箱或购物网站上绕过警告。

如果你是网站管理员(服务端修复)

你的访客看到此错误是因为 SSL 配置有问题。以下是每种原因的诊断和修复方法。

原因 1:证书过期

最常见的原因。 Let’s Encrypt 证书每 90 天过期。

诊断:

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

修复: 续签你的证书。使用 GetHTTPS,只需 5 分钟。然后替换文件并重新加载服务器。

原因 2:证书与域名不匹配

证书签发给了 example.com 但你访问的是 www.example.com(或反之)。

诊断:

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

修复: 获取包含裸域名和 www 的新证书。在 GetHTTPS 中,同时添加 example.comwww.example.com

原因 3:证书链不完整

你的服务器没有发送中间证书。浏览器无法构建从你的证书到根证书颁发机构的信任路径。

诊断:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Verify return code"
# "21 (unable to verify the first certificate)" = chain incomplete

修复:

  • Nginx:ssl_certificate 中使用 fullchain.pem(而非 cert.pem
  • Apache: 添加 SSLCertificateChainFile chain.pem

证书链详解 →

原因 4:自签名证书

自签名证书不被浏览器信任——没有证书颁发机构为其背书。

修复: 替换为来自 Let’s Encrypt(免费)或商业证书颁发机构的真实证书。

原因 5:提供了错误的证书

如果你在一台服务器上托管多个网站,可能提供了错误的证书(SNI 配置错误)。

诊断:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -subject
# Check the CN matches your domain

修复: 确保每个 server 块(Nginx)或 <VirtualHost>(Apache)都有对应域名的正确 ssl_certificate

原因 6:TLS 版本过旧

你的服务器只支持已被浏览器放弃的旧 TLS 版本(1.0/1.1)。

修复:

# Nginx
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

原因 7:Cloudflare “Flexible” SSL 模式

Cloudflare 的”Flexible”模式在源站没有有效证书时会导致此错误。

修复: 在源站安装证书(GetHTTPSCloudflare Origin CA)并切换到”Full (Strict)“模式。

原因 8:HSTS 缓存了错误状态

如果你之前发送了 HSTS 头但后来 HTTPS 出了问题,浏览器会拒绝回退到 HTTP 连接。

修复: 使用有效证书恢复 HTTPS。如果在测试中,使用短的 HSTS max-age(如 300 秒)直到你确认一切正常。

错误代码参考

Chrome 错误代码含义常见修复
NET::ERR_CERT_DATE_INVALID证书过期或尚未生效续签证书 或修复系统时钟
NET::ERR_CERT_COMMON_NAME_INVALID域名与证书不匹配获取正确域名的证书
NET::ERR_CERT_AUTHORITY_INVALID自签名或不受信任的证书颁发机构使用受信任的证书颁发机构如 Let’s Encrypt
NET::ERR_CERT_REVOKED证书已被吊销获取新证书
NET::ERR_SSL_PROTOCOL_ERRORTLS 握手失败检查服务器 TLS 配置
NET::ERR_SSL_VERSION_OR_CIPHER_MISMATCH无共同的 TLS 版本/加密套件在服务器上启用 TLS 1.2+
SSL_ERROR_HANDSHAKE_FAILURE_ALERT(Firefox) 握手被拒绝检查服务器证书和配置

常见问题

点击”继续”/“接受风险”安全吗?

仅在你信任该网站并理解风险时——如你自己的开发服务器使用自签名证书。绝不要在银行、电商、邮箱或社交媒体网站上绕过警告。警告存在是因为可能有人在拦截你的流量。

我的网站显示此错误,如何最快修复?

前往 GetHTTPS,获取新的免费证书,安装它,重新加载 Web 服务器。5 分钟搞定。如果错误持续,检查错误代码——它会告诉你确切的问题(过期、域名错误、缺少证书链等)。

某些设备上出现错误但其他设备正常

通常是证书链问题——你的服务器没有发送中间证书。一些浏览器/系统从之前的访问中缓存了中间证书,但新设备没有。通过在服务器上使用 fullchain.pem 来修复。

我的证书有效但仍然看到错误

检查:域名不匹配(www 与非 www)、证书链不完整、HSTS 缓存了之前的失败、或者代理/CDN 提供了不同的证书。使用 openssl s_client 查看服务器实际提供的证书。

相关文章

部署 2026-05-07
如何检查 SSL 证书过期时间
使用浏览器、OpenSSL 或在线工具检查 SSL 证书的过期时间。设置监控以避免意外过期和服务中断。
部署 2026-05-07
如何修复混合内容警告
混合内容是指 HTTPS 页面通过 HTTP 加载资源。了解如何查找和修复混合内容错误以获得完整的锁头图标。
SSL 与证书 2026-05-07
证书信任链详解
浏览器如何通过从根 CA 到中间 CA 再到你的证书的链条来验证 SSL 证书。了解为什么链顺序很重要,以及如何修复'证书不受信任'错误。
快速开始 2026-05-08
如何获取免费 SSL 证书(分步指南)
5 分钟从 Let's Encrypt 获取免费 SSL 证书 — 无需安装软件、无需注册账号。涵盖 4 种方法、两种验证方式、6 个平台的安装教程和故障排除。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书