子专题 · 故障与排查
浏览器显示「不安全」的 6 种原因与排查
先分清三档——只有「不安全」、红屏可绕过、红屏不可绕过——再按六类原因逐项对照。最快的线索是红屏上的错误码。
本文目录 · 11 节
先说结论
- 浏览器只核对四件事:证书由受信任机构签发、证书域名与访问域名一致、证书在有效期内、页面里没有 http 资源;任何一条不通过就显示「不安全」或整页红屏。
- 六种原因:纯 HTTP、证书过期、域名不匹配、自签名或不受信任、证书链不完整、混合内容。前五种是证书本身的问题,最后一种是页面里的资源问题。
- 最快的线索是错误码:ERR_CERT_DATE_INVALID 是过期、ERR_CERT_COMMON_NAME_INVALID 是域名不匹配、ERR_CERT_AUTHORITY_INVALID 是证书不被信任。
- 修完必须做三分钟验收:四个网址各开一次(裸域名/www × http/https)、手机(最好安卓)再测、SSL Labs 评级 A 或 A+,最后确认自动续期真的生效。
🤖 把这篇交给你的 AI 智能体
复制后粘贴给你常用的 AI 智能体(豆包、ChatGPT、Claude、Codex 等),它会按同样的步骤带你做完,并在每一步改动前先征求你的同意。不要把密码、密钥发到对话里。
查看将要复制的提示词
先说结论:地址栏写着「不安全」,就六种原因
浏览器不会无缘无故说你的网站不安全。它只核对三件事:证书是不是受信任的机构签的、证书上的域名和访问的域名对不对得上、证书有没有过期;再额外检查一件事——页面里有没有还在用 http:// 加载的资源(混合内容)。全部通过就显示正常状态,任何一条不过就出现「不安全」或整页红屏。

| 你看到的样子 | 最可能的原因 | 错误码(红屏时才有) | 修哪里 |
|---|---|---|---|
地址栏写着「不安全」,网址是 http:// 开头 | ① 根本没装证书,或装了但没强制跳转 | 无错误码 | 装免费证书 + 强制跳转 |
| 整页红屏「您的连接不是私密连接」 | ② 证书过期(最常见) | NET::ERR_CERT_DATE_INVALID | 续期 / 重新申请 |
| 整页红屏 | ③ 证书上的域名对不上(证书只有 www,访问的是裸域名) | NET::ERR_CERT_COMMON_NAME_INVALID | 重新签发,补上域名 |
| 整页红屏 | ④ 证书不被信任(自签名、测试证书,或 Cloudflare 源证书被直接访问) | NET::ERR_CERT_AUTHORITY_INVALID | 换成受信任的免费证书 |
| 电脑正常,手机/安卓提示证书不可信 | ⑤ 证书链不完整(只装了域名证书,没装中间证书) | 手机端常见 | 换成完整证书链 |
网址是 https://,仍提示「不安全」或图片不显示 | ⑥ 混合内容:页面里还有 http:// 的图片、脚本 | 无错误码,控制台有 Mixed Content 提示 | 把资源地址改成 https |
原因① 纯 HTTP:根本没有证书
- 你看到的:地址栏左侧写着「不安全」,网址是
http://开头。 - 原因:网站从来没申请过证书;或者申请了、但访客用
http://进来时没有自动跳转到https://。 - 怎么确认:手动在地址栏把
http://改成https://再回车。能正常打开 → 是「没开强制跳转」;打不开或红屏 → 是「根本没有证书」。 - 怎么修:先申请免费证书,再打开强制跳转(301)。六条路线(Linux/Certbot、宝塔、cPanel、Cloudflare、IIS、SaaS 平台)见免费部署完全指南。

原因② 证书过期(最常见的一种)
- 你看到的:整页红屏「您的连接不是私密连接」,错误码
NET::ERR_CERT_DATE_INVALID;点「高级 → 继续访问」还能硬进去。 - 原因:免费证书有效期只有 90 天,而且会越来越短(Let's Encrypt 官方计划:2027-02-10 起 64 天、2028-02-16 起 45 天)。靠人工记着续期,早晚会漏一次。
- 怎么确认:点地址栏左侧图标 →「连接是安全的」→「证书有效」,看有效期的截止日期;或用命令看:
echo | openssl s_client -connect 你的域名:443 -servername 你的域名 2>/dev/null | openssl x509 -noout -dates。 - 怎么修:先应急续期(Certbot 用
sudo certbot renew;宝塔/cPanel 在面板里重新申请),再回头查「为什么自动续期没生效」——定时任务是否在跑、续期时 80 端口是否被关、后来是否开了 CDN 或 301 规则。

原因③ 域名不匹配:证书只有 www,访问的是裸域名
- 你看到的:整页红屏,错误码
NET::ERR_CERT_COMMON_NAME_INVALID。如果网站还开着 HSTS,红屏上连「继续访问」都没有。 - 原因:证书上写的域名和你访问的域名对不上。最常见的两种:证书只包含
www.你的域名,客户输的是裸域名;或者服务器上站点配错,把另一个站点的证书发给了访客。 - 怎么确认:用
https://你的域名和https://www.你的域名各开一次。一个正常一个红屏 → 就是域名没配全。 - 怎么修:重新申请时把根域名和 www 都写进同一张证书(Certbot 加
-d 你的域名 -d www.你的域名;宝塔申请时勾选两个域名)。多站点服务器要确认每个站点各自部署了证书,不要共用。

原因④ 自签名 / 不被信任的证书
- 你看到的:整页红屏,错误码
NET::ERR_CERT_AUTHORITY_INVALID。 - 原因:证书不是受浏览器信任的机构(CA)签发的。三种典型:用了自签名证书(自己给自己签的);用了测试证书;在 Cloudflare 场景里把源证书直接暴露给了访客(比如 DNS 记录被改成「仅 DNS」灰色云朵,访客直连源站,而源站用的是 Cloudflare 源证书——浏览器不信任它)。
- 怎么确认:点红屏页面的「高级」,看证书颁发者。如果是 Cloudflare 的 Origin CA、或者你自己生成的名字,就是这个原因。
- 怎么修:换成受信任的免费证书(Let's Encrypt 等)。Cloudflare 场景:源站装 Let's Encrypt,或者把 DNS 记录恢复成「已代理」(橙色云朵),让访客走 Cloudflare 边缘证书。
原因⑤ 证书链不完整:电脑正常,安卓报错
- 你看到的:电脑上一切正常,但部分手机(尤其安卓)提示证书不可信、或者干脆打不开。
- 原因:只装了域名证书(
cert.pem),没装中间证书。桌面浏览器常会自动补链,所以看不出来;部分安卓机和老旧客户端不会补,就报错。 - 怎么确认:跑一次 SSL Labs(
https://www.ssllabs.com/ssltest/),看有没有 Chain issues / Incomplete 这一条。 - 怎么修:Nginx 用
fullchain.pem而不是cert.pem;宝塔、cPanel 里粘贴证书时确保包含完整的证书链(面板一般会同时给「证书」和「中间证书/链」两栏)。修完再用安卓手机测一次。

原因⑥ 混合内容:网址是 https,页面里还有 http 资源
- 你看到的:地址栏可能显示正常、也可能仍提示不安全;页面排版错乱、图片不显示、询盘表单点不动。
- 原因:页面本身是
https://,但里面的图片、脚本、样式、视频还是用http://地址加载。浏览器会拦截或自动升级这些资源,严重时整页降级提示不安全。 - 怎么确认:按 F12 打开开发者工具 → Console,搜
Mixed Content,或者在 Network 里筛http://的资源;也可以在页面源码里搜http://。 - 怎么修:把页面模板里所有
http://的资源地址改成https://(或改成//开头、跟页面协议走);在 Cloudflare 上可以打开 Automatic HTTPS Rewrites 兜底;改完用无痕窗口复测。
一张表:按你看到的,直接跳到排查步骤
| 现象 | 先做这一步 | 判定标准 |
|---|---|---|
网址是 http://,地址栏「不安全」 | 手动改成 https:// 打开 | 能开 → 只差强制跳转;打不开 → 没证书 |
红屏 + ERR_CERT_DATE_INVALID | 点图标看证书有效期 | 截止日期已过 → 续期;没过 → 看访客电脑时间 |
红屏 + ERR_CERT_COMMON_NAME_INVALID | 裸域名和 www 各开一次 | 一个正常 → 证书没包含两个域名 |
红屏 + ERR_CERT_AUTHORITY_INVALID | 看证书颁发者是谁 | 不是受信任 CA → 换免费证书 / 恢复 Cloudflare 代理 |
| 电脑正常、手机报错 | SSL Labs 看 Chain issues | 有 Incomplete → 换成 fullchain |
| https 了还提示不安全 | F12 → Console 搜 Mixed Content | 有 → 逐个改 http:// 资源 |
修好之后:三分钟验收
- 1. 四个网址都试一遍:
https://你的域名、https://www.你的域名、http://你的域名、http://www.你的域名。前两个应正常显示锁头,后两个应自动跳转到 https。 - 2. 手机上再试一遍(用手机流量,别用公司 WiFi;最好找一台安卓)。
- 3. 跑一次 SSL Labs,目标 A 或 A+,并确认没有 Chain issues、没有「证书不受信任」的 T 评级。
- 4. 确认自动续期:
sudo certbot renew --dry-run/ 宝塔看续签状态 / Cloudflare 看边缘证书状态,然后注册一个免费的到期监控。
三句话记住
下一步
- 先看看四种故障分别长什么样:四种 SSL 故障实景演示(附 30 秒自查)。
- 不确定自己是哪一档:先做 免费体检,拿到结果再对症下药。
- 从零部署免费证书:网站 SSL 证书免费部署完全指南(小白版)。
- 想让别人长期盯着它:SSL 证书终身维护服务(600 元/域名 · 长期统一价)。
答疑
常见问题
地址栏显示「不安全」,但网站能正常打开,要紧吗?
要紧。这通常只有两种原因:网站还是纯 HTTP,或者页面里还有 http 的图片和脚本(混合内容)。访客看到「不安全」会直接降低信任,而且 Google 已宣布 Chrome 154(2026 年 10 月)起默认对没有 HTTPS 的公共网站先弹警告。修起来也不难:装免费证书、打开强制跳转、把页面里的 http 资源改掉。
红屏上写「您的连接不是私密连接」,我该先做什么?
先看红屏页面下方的错误码。ERR_CERT_DATE_INVALID 说明证书过期,立刻续期;ERR_CERT_COMMON_NAME_INVALID 说明证书域名和访问的域名对不上,重新签发时把根域名和 www 都加上;ERR_CERT_AUTHORITY_INVALID 说明证书不被浏览器信任,要换成受信任机构签发的免费证书。如果红屏上没有「继续访问」按钮,说明网站还开着 HSTS,只能先把证书修对。
电脑打开正常,为什么手机提示证书不可信?
最常见的原因是证书链不完整:只装了域名证书,没装中间证书。桌面浏览器常会自动补链所以看不出来,部分安卓手机不会补,就报错。修法是让服务器使用包含完整链的证书文件(Nginx 用 fullchain.pem),在面板里粘贴证书时也要包含中间证书,最后用 SSL Labs 确认没有 Chain issues。
网址已经是 https 了,为什么还提示不安全?
这是混合内容:页面本身是 https,但里面的图片、脚本、样式还是用 http 加载。浏览器会拦截或自动升级这些资源,严重时整页降级提示不安全,还会出现排版错乱、询盘表单点不动。按 F12 打开开发者工具,在 Console 里搜 Mixed Content,把对应资源地址改成 https 即可。
修好之后,我怎么确认客户那边真的正常了?
用三分钟做验收:四个网址各开一次,也就是裸域名和 www 分别用 http 和 https 访问,前两个应正常显示、后两个应自动跳转到 https;用手机流量再试一次,最好找一台安卓手机;跑一次 SSL Labs,目标 A 或 A+,并确认没有 Chain issues;最后确认自动续期真的生效,并注册一个免费的到期监控兜底。
核实
资料来源与核实记录
价格、政策与版本信息均注明来源和核实日期。
| 事实 | 来源 | 核实日期 |
|---|---|---|
| 「为什么我的网站显示不安全」原因对照表(本页六类原因的来源) | 本站《网站 SSL 证书免费部署完全指南》第 1.2 节 | 2026-10-10 |
| Chromium 网络错误码官方列表:ERR_CERT_DATE_INVALID / ERR_CERT_COMMON_NAME_INVALID / ERR_CERT_AUTHORITY_INVALID | Chromium 源码 net_error_list.h | 2026-10-10 |
| Let's Encrypt 证书有效期 90 天,将缩短至 64 天与 45 天(公告 2025-12-02) | letsencrypt.org | 2026-10-10 |
| Let's Encrypt 到期提醒邮件服务已结束(2025-06-26),所以必须自己设置到期监控 | letsencrypt.org | 2026-10-10 |
| 混合内容(Mixed content)的定义与浏览器处理方式 | MDN | 2026-10-10 |
| SSL Labs 在线检测:评级与 Chain issues(证书链不完整)判定 | ssllabs.com | 2026-10-10 |
| Chrome 154(2026 年 10 月)起默认「始终使用安全连接」(公告 2025-10-28) | Google 安全博客 | 2026-10-10 |
更新记录
2026-10-12 · v1.0:上线:六类原因逐项排查(纯 HTTP、过期、域名不匹配、自签名、证书链不完整、混合内容)、错误码映射表与三分钟验收清单。
本专题全文以 CC BY 4.0 协议开源,可转载、改编,请注明出处:GitHub · iPythoning/ssl-guide-zh
延伸
相关阅读
四种 SSL 故障实景演示
纯 HTTP、证书过期/自签名/域名不匹配、证书错误叠加 HSTS、域名或服务器失效——四种故障各配真实浏览器截图,讲清客户看到什么、错误码是什么、该往哪修,附六行错误码速查表与 30 秒自查四步。

「每周一坑」故事集
三期短视频的文字版:为免费证书付了 2500 元、建了三年才发现网站不属于自己、2026 年还在跑 20 年前 ASP 的老站。每期一个具体的人、一笔具体的钱、一个免费的解法,另附第 4–10 期选题池与可直接照拍的每期结构模板。


交给我们
不想自己动手?
泓森互联提供 SSL 证书终身维护服务:部署、监控、自动续期与失效应急,一次购买长期有效。服务范围与价格以服务页为准;也可以先做免费体检,把情况摸清楚再决定。
留个联系方式,我们帮你看看
不确定自己的网站是什么情况?留下信息,或直接 预约诊断,我们把体检结果和修复路径说清楚。