网站证书异常怎么解决
浏览器地址栏突然跳出一个红色三角,网站写着“证书无效”,证书点“继续访问”还得翻半天。异常上周我帮朋友处理他的解决电商后台,就撞上这破事。网站他急着改商品价格,证书结果Chrome直接拦死,异常连登录页面都打不开。解决这不是网站浏览器抽风,是证书TLS握手时出了岔子。 证书异常分好几种,异常表现不一样,解决处理方式也完全不同。网站最常见的证书是“证书已过期”。我见过一个政府服务网站,异常证书过期了整整三个月没人管,访问就弹警告。这种情况用户端无解,只能等网站管理员续费更新。你自己折腾浏览器设置没用,那是服务器的事。 另一种是“证书域名不匹配”。比如证书签给 还有“自签名证书”导致的异常。公司内网系统、测试环境、路由器管理页面经常这么干。证书是自己生成的,没有权威CA签名,浏览器自然不认。以前IE还能点“继续浏览”,现在Chrome和Firefox越来越狠,有些版本连继续按钮都藏起来了。你如果只是自己用,可以把该证书导入系统信任区。Windows下用 “证书链不完整”也烦人。服务器只发了自己的证书,没带中间CA证书。有些浏览器能自动补全,有些就报错。用 时间不对也会触发证书错误。你电脑系统时间如果跑到2020年,那访问任何HTTPS网站都报错。因为证书有效期是2023到2024,你的时间不在这个区间。我修过一台老笔记本,主板电池没电,每次开机时间都重置到2010年。用户说“所有网站都不安全”,其实就是换个CR2032电池的事。 浏览器本身的问题也不能忽略。有时候系统根证书库太旧,或者被某些安全软件篡改了。火狐用自己的证书库,Chrome用系统的。你可以试试用另一个浏览器打开同一个网站。如果火狐正常、Chrome报错,那就是系统证书库的问题。Windows更新里有个“根证书更新”可选组件,勾上装一下。或者直接去 最后说个野路子。有些老设备管理页面只支持TLS 1.0,现代浏览器默认禁用了。你可以在Chrome地址栏输入 证书异常不是玄学,九成情况就是过期、域名不对、自签名、链不全、时间错这五类。挨个排查,十分钟内能定位。实在搞不定,把浏览器报错的完整截图和 www.example.com,但你访问的是 example.com 或者 api.example.com。浏览器只认完全匹配。有些小公司图省事,买了个单域名证书,结果所有子域名都报错。我自己的博客就踩过这个坑——证书只签了裸域名,结果 www 前缀访问直接红锁。后来换成通配符证书才消停。certmgr.msc,Mac用钥匙串访问,把证书拖进去设为“始终信任”。但别在公共电脑上这么干,等于给中间人攻击开后门。openssl s_client -connect example.com:443 -showcerts 能看服务器到底发了几个证书。正常应该有两到三个。如果只有一个,那就是配置漏了。Nginx里把中间证书和域名证书拼成一个文件就行,顺序别搞反——域名证书在前,中间证书在后。certificates 目录手动导入。chrome://flags/#allow-insecure-localhost 把“允许不安全的本地主机”打开。但这招只对 localhost 或 127.0.0.1 有效。如果是远程设备,别硬来,升级固件才是正事。openssl 的输出贴到技术论坛,比瞎猜快得多。