HTTPS 常见问题排查
High Contrast
Dark Mode
Light Mode
Sepia
Forest
5 min read957 words

HTTPS 常见问题排查

HTTPS 配置完之后,最常见的问题不是证书本身,而是混合内容、证书不匹配、HSTS 锁死这三类。


问题一:混合内容(Mixed Content)

症状:HTTPS 页面上的锁头显示警告,或部分资源加载失败。

原因:页面通过 HTTPS 加载,但页面内的某些资源(图片、脚本、CSS)还在用 HTTP 链接。

graph LR A[https://example.com] -->|HTTPS ✅| B[页面 HTML] B -->|HTTP ❌| C[http://cdn.example.com/style.css?v=5f3ef23d] B -->|HTTP ❌| D[http://example.com/image.jpg]

如何排查: 1. 打开 Chrome → 开发者工具(F12)→ Console 面板 2. 看是否有 Mixed Content 错误信息 3. 找到具体哪个资源用了 HTTP

修复方法:

场景 修复方式
自己控制的资源 把所有 http:// 改为 https:////(协议无关 URL)
WordPress 站点 安装 Better Search Replace,把数据库里的 http 替换成 https
第三方嵌入 联系第三方或换用支持 HTTPS 的替代方案
Cloudflare 用户 开启 Automatic HTTPS Rewrites(自动替换 HTTP 链接)

问题二:证书错误(Certificate Error)

ERR_CERT_COMMON_NAME_INVALID

原因:证书上的域名和访问的域名不匹配。

常见场景: - 访问 www.example.com,但证书只覆盖 example.com - 访问 shop.example.com,但证书只覆盖 *.example.com(这个应该能匹配,检查通配符配置)

修复:重新申请包含所有需要域名的证书(多域名证书或通配符证书)。

ERR_CERT_DATE_INVALID

原因:证书已过期,或者客户端系统时间错误。

排查

# 检查证书有效期
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

修复: - 证书过期 → 重新申请(Let's Encrypt 应该已自动续期,检查 certbot 日志) - 系统时间错误 → 检查服务器时间同步(timedatectl status

ERR_CERT_AUTHORITY_INVALID

原因:证书不被浏览器信任(自签名证书,或 CA 不受信任)。

修复:换用受信任 CA 签发的证书(Let's Encrypt 或 Cloudflare)。


问题三:HSTS 锁死(HSTS Preload 问题)

症状:你关闭了 HTTPS,想临时用 HTTP,但浏览器拒绝访问,显示 NET::ERR_CERT_AUTHORITY_INVALID 或无法绕过。

原因:HSTS 告诉浏览器只用 HTTPS,浏览器会缓存这个指令(max-age 时间内)。

如何清除本地 HSTS 缓存(Chrome): 1. 打开 chrome://net-internals/#hsts 2. 在 "Delete domain security policies" 输入域名 → Delete

如果被加入了 HSTS Preload List: 这个更严重,所有 Chrome 用户都无法用 HTTP 访问你的域名。要从列表移除需要数月时间。

避免的建议: - 不要在 HTTPS 没有完全稳定前开启 HSTS - preload 参数要谨慎使用(一旦加入 Preload List 很难移除)


问题四:证书链不完整

症状:某些设备(旧 Android)显示证书错误,但桌面 Chrome 正常。

原因:中间证书(Intermediate Certificate)没有正确配置。

排查工具SSL Labs Server Test — 免费,给出详细的证书链分析和评分。

修复(Nginx):确保使用 fullchain.pem,而不是 cert.pem

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;   # ✅ 包含中间证书
# ssl_certificate /etc/letsencrypt/live/example.com/cert.pem;     # ❌ 只有叶证书

快速诊断清单

症状 首先检查
锁头有警告但能访问 混合内容(Chrome Console)
浏览器拒绝访问,证书错误 证书域名、有效期、CA 信任
旧手机/旧系统报错,新设备正常 证书链是否完整
HTTP 改成 HTTPS 后 SEO 掉了 检查 301 跳转是否正确,规范链接是否更新
HTTPS 变慢 OCSP Stapling、TLS 1.3、HTTP/2 是否开启

本章执行清单


下一章CDN 与缓存策略——在 HTTPS 的基础上,用 CDN 让全球用户都打得快。