SSL证书错误:您的连接不是私密连接、此站点不安全解决办法

a
admin
作者
2026-07-20
发布日期
约 11 分钟
阅读时间

最近后台收到不少用户反馈:打开网站浏览器弹出红色警告”您的连接不是私密连接”或”此站点不安全”,不知道是浏览器抽风还是自己网站出了问题。这篇把常见原因和解决办法都梳理一下,遇到类似情况照着排查就行。

这个错误到底是什么意思

简单说就是浏览器验证SSL证书失败,认为这个网站的HTTPS连接不安全。Chrome、Edge、Firefox等主流浏览器都有这个保护机制,一旦证书有问题就会拦截访问,避免用户数据被窃取。

常见的提示文案有几种:

  • 您的连接不是私密连接(NET::ERR_CERT_COMMON_NAME_INVALID)
  • 此站点不安全(NET::ERR_CERT_AUTHORITY_INVALID)
  • 你的连接不是私密连接 + 攻击者可能试图窃取信息
  • 此服务器的证书无法验证

不同错误码对应不同原因,下面分情况说。

原因一:证书已经过期

最常见的原因。SSL证书都有有效期,免费证书90天,付费证书1-2年。过期后浏览器会直接拦截。

怎么确认:错误页面点击”高级” → 查看证书信息,能看到到期日期。或者用 SSL证书测试工具 检测,会直接告诉你证书是否过期。

解决办法:重新申请证书并部署。

  • 免费证书推荐去 sslmianfei.com 申请ZeroSSL,支持单域名、通配符、IP证书,不用注册
  • 部署后在宝塔/服务器面板更新证书文件
  • 设置自动续期或日历提醒,提前30天续费

原因二:证书域名不匹配

证书是给特定域名签发的,访问的域名必须和证书覆盖的域名一致,否则报 ERR_CERT_COMMON_NAME_INVALID

典型场景

  • 证书是 www.example.com 的,访问的是 example.com(裸域名)
  • 证书是单域名的,访问的是子域名 api.example.com
  • 证书是 example.com 的,访问的是 test.example.com

怎么确认:点击地址栏小锁 → 查看证书 → 看”使用者可选名称(SAN)”字段,里面列出的才是证书覆盖的所有域名。

解决办法

  • 申请通配符证书 *.example.com,一次覆盖所有子域名
  • 或者申请多域名证书,把所有要用的域名都加进去
  • sslmianfei.com 输入 *.example.com 即可申请通配符证书

原因三:证书链不完整

浏览器报”此站点不安全”但证书本身有效,90%是证书链没装全

SSL证书是分层的:根证书 → 中间证书 → 你的域名证书。如果服务器只部署了域名证书没部署中间证书,部分浏览器无法验证证书信任链,就会报错。

怎么确认:用 SSL测试工具 检测,会提示”证书链不完整”。或者用 证书查看工具 解析证书,看是否包含中间证书。

解决办法:合并证书链后重新部署。

把域名证书和CA中间证书合并成一个文件:

cat your_domain.crt ca_bundle.crt > fullchain.crt

注意顺序:域名证书在前,中间证书在后。然后用 fullchain.crt 替换原来的证书文件,重载Web服务器。

原因四:自签名证书未受信任

自己用OpenSSL生成的证书没有经过公共CA机构签发,浏览器默认不信任,会提示”此站点不安全”。

适用场景:内网测试、开发环境。

解决办法

  • 测试环境:可以先用 创建测试证书工具 在线生成自签名证书
  • 生产环境:必须申请受信任的CA证书,免费证书就用ZeroSSL或Let’s Encrypt

原因五:系统时间不准确

浏览器验证证书时依赖系统时间,如果电脑时间偏差太大(比如慢了几年),会认为证书还没生效或已过期。

怎么确认:看电脑右下角时间是否正确,时区是否对。

解决办法

  • Windows:设置 → 时间和语言 → 自动设置时间
  • 手机:设置 → 通用 → 日期与时间 → 自动设置
  • 服务器:ntpdate ntp.aliyun.com 同步时间

原因六:混合内容加载

网站HTTPS页面里加载了HTTP资源(图片、JS、CSS),浏览器会警告”此页面正在尝试加载来自不安全来源的脚本”。

怎么确认:F12打开开发者工具 → Console控制台,会看到混合内容的警告。

解决办法

  • 把所有 http:// 资源改成 https://
  • 或者改成相对路径 //cdn.example.com/xxx.js
  • 检查模板和插件里有没有硬编码的HTTP链接
  • 部署HSTS头部强制浏览器使用HTTPS

原因七:浏览器缓存了旧的证书信息

证书已经更新但浏览器还在用旧的缓存,导致一直报错。

解决办法

  • 强制刷新:Ctrl+F5(Windows)或Cmd+Shift+R(Mac)
  • 清除浏览器缓存和Cookie
  • 关闭浏览器重新打开
  • 无痕模式打开网站测试

原因八:HSTS强制HTTPS缓存

之前部署过HSTS头部,浏览器记住了”此域名必须用HTTPS”,即使证书已删除也会强制HTTPS访问。如果证书出问题就死循环了。

怎么确认:F12 → Network → 看响应头有没有 Strict-Transport-Security

解决办法

  • 服务器端移除HSTS头部(或max-age设为0)
  • 等待浏览器缓存自然过期(最长1年)
  • Chrome地址栏输入 chrome://net-internals/#hsts → Delete domain security policies → 输入域名删除

原因九:本地安全软件拦截

杀毒软件(卡巴斯基、ESET等)的HTTPS扫描功能会替换证书做中间人检测,导致浏览器报”证书颁发机构无效”。

怎么确认:错误页面查看证书,如果颁发者是杀毒软件厂商(如Kaspersky Anti-Virus Personal Root),就是这个问题。

解决办法

  • 杀毒软件设置里关闭”HTTPS扫描”或”加密连接扫描”
  • 或把该域名加入扫描白名单
  • 浏览器导入杀软的根证书为信任证书

原因十:服务器SSL配置问题

服务器TLS版本太旧或加密套件不安全,现代浏览器会拒绝连接。

常见问题

  • 还在用SSLv3、TLS 1.0、TLS 1.1(已被废弃)
  • 加密套件包含RC4、DES等弱算法
  • 没有启用前向保密(PFS)

怎么确认:用 SSL测试工具 检测协议版本和加密套件。

解决办法:服务器配置只允许TLS 1.2和1.3,使用现代加密套件。

Nginx配置示例:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;

Apache配置示例:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
SSLHonorCipherOrder on

临时绕过警告的方法(不推荐)

如果只是临时访问,可以在错误页面:

  • 输入 thisisunsafe(Chrome直接键盘输入即可)
  • 点击”高级” → “继续前往”

注意:这只是临时绕过,根本问题还在。生产环境一定要修复,否则用户访问会直接流失。

排查流程总结

遇到”连接不是私密连接”错误,按这个顺序排查:

  1. 看证书是否过期 → 过期就续费
  2. 看访问域名是否在证书SAN中 → 不在就申请通配符或多域名证书
  3. 检测证书链是否完整 → 不完整就合并中间证书
  4. 检查系统时间是否准确 → 不准就同步
  5. 检查混合内容 → 全部改HTTPS
  6. 清除浏览器缓存 → 强制刷新
  7. 检查HSTS缓存 → 移除HSTS或删除浏览器HSTS记录
  8. 检测SSL配置 → 升级TLS版本和加密套件

预防措施

避免证书问题反复出现,建议:

  • 提前续费:免费证书90天到期,提前30天续费
  • 自动续期:宝塔、Let’s Encrypt都支持自动续期
  • 定期检测:用 SSL测试工具 每月检测一次
  • 监控告警:宝塔或Uptime Robot设置证书到期告警
  • 使用通配符证书:一个证书覆盖所有子域名,避免遗漏

最后

“连接不是私密连接”看着吓人,但90%的情况都能用上面10种方法解决。核心就是三件事:证书有效、域名匹配、配置正确

如果你不确定是哪种问题,先用 SSL测试工具 跑一遍检测,工具会直接告诉你问题所在。希望这篇能帮到遇到SSL错误的朋友,有问题欢迎留言交流。

本文到此结束