浏览器地址栏“小锁”消失怎么排查?
浏览器小锁消失,一般有 4 个原因:
- 因为SSL证书过期而出现证书超过有效期或尚未生效。
- 因为页面存在HTTP资源(混合内容)而主站是HTTPS,但页面调用了HTTP图片或脚本。
- 因为证书链没有配置完整而出现服务器缺少中间证书,导致部分客户端不信任。
- 因为域名没有包含在证书中而出现访问的域名与证书绑定的SAN列表不一致。
其中,页面加载混合内容是最常见的原因。
为什么浏览器小锁会突然消失?
浏览器小锁是网站建立安全上下文的视觉标识。如果小锁变成感叹号或提示“不安全”,说明当前页面不再符合完整的加密传输标准。
实际排查时,主要看几个地方:证书有效时间、页面元素请求协议、Nginx/Apache 的证书链完整性以及多域名匹配情况。
Nginx 升级证书后,小锁仍然消失怎么办?
1. 实际环境
- 服务器:Nginx 1.22
- 现象:在主流 Chrome 浏览器上访问显示正常,但在部分移动端(如微信内置浏览器)打开时提示证书异常或安全锁丢失。
2. 命令行排查过程
运维人员通过 OpenSSL 命令行工具对服务器 443 端口进行深度握手检查:
Bash
openssl s_client -connect example.com:443 -servername example.com
3. 排查结果
在返回的 Certificate chain 中发现,服务器只返回了单张域名证书:
Plaintext
Certificate chain
0 s:CN = example.com
i:C = US, O = Let's Encrypt, CN = R3
服务器缺少了 Intermediate CA(中间证书),导致部分对证书链校验严格的客户端无法向上追溯到根证书。
4. 修复方法
将服务器配置中的证书文件替换为包含完整证书链的 fullchain.pem 文件:
Nginx
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/private.key;
修改完成后,执行语法检查并平滑重载 Nginx 服务:
Bash
nginx -t && nginx -s reload
重新访问后,移动端及各浏览器的安全锁恢复正常。
快速排查与修复步骤
第一步:检查证书有效期
第二步:排查页面中的“混合内容(Mixed Content)”
- 操作:按
F12打开浏览器开发者工具,切换到 Console 控制台查看是否有红色或黄色的Mixed Content警告。 - 处理:将页面源码中所有硬编码的
http://外部资源(图片、JS、CSS)修改为相对路径或https://绝对路径。
第三步:检查服务器配置与证书链
- 确保 Web 服务器正确加载了中间证书。若在配置或升级中遇到握手报错,可参考 修复SSL证书错误 进行排查。
常见问题解答
Q:为什么在电脑上访问有小锁,但在手机端或部分浏览器上小锁消失了?
A:核心原因是手机端或部分浏览器的证书信任链校验更加严格,服务器缺少中间证书链(CA Bundle)。电脑端可能因为本地缓存了历史中间证书而显示正常。
Q:小锁消失了,网站还能正常打开和传输数据吗?
A:可以打开。小锁消失或变成“不安全”提示,并不等于网站完全无法访问,但访客极易产生戒备心理并离开网站,从而影响业务转化率。



京公网安备11010502031690号
网站经营企业工商营业执照
















