打开网站突然弹「您的连接不是私密连接」,NET::ERR_CERT_DATE_INVALID,很多人第一反应是电脑中病毒了。其实多数情况和病毒无关,问题出在网络安全证书上。
证书到底在证明什么
网络安全证书一般指 SSL/TLS 证书,由证书颁发机构(CA)签发,作用有两个:证明这个网站确实是它声称的那个,以及给浏览器和网站之间的数据加密。地址栏的小锁图标,就是证书生效的标志。没有证书的网站走明文 HTTP,账号密码在途中可能被截获。
常见的证书类型
- DV 域名验证型:只验证域名归属,签发快,个人站常用
- OV 组织验证型:要核实企业信息,证书里能看到公司名
- EV 扩展验证型:审核最严格,历史上地址栏会显示企业名称
- 通配符证书:一张证书覆盖同一主域下的所有子域名
现在主流浏览器对这几类的展示已经趋同,都只显示小锁,类型差异主要体现在审核环节。证书一般一年一签,免费的 Let's Encrypt 是 90 天一轮,到期前要自动续期。
怎么查看一个网站的证书
点地址栏的小锁,选「连接是安全的」再看证书信息,能看到签发机构、有效期和绑定的域名。想看得更细,可以用 OpenSSL 命令:
openssl s_client -connect example.com:443 -servername example.com输出里的 dates 是有效期范围,issuer 是签发者,自签证书在这里一眼就能看出来。
证书报错的常见原因与处理
见得最多的是过期:证书没续期,浏览器立刻翻脸。其次是系统时间不对,日期差得太远证书会被判定无效。还有访问的域名和证书绑定的域名对不上,或者公司网络、某些安全软件做了流量解密,替换了证书。处理顺序:先核对系统时间,再确认网址拼写没被改过;银行、支付类站点看到报错直接关掉,别点「继续前往」;自己管的网站报错,去证书服务商控制台重新签发并部署,Nginx 换好证书后 reload 一下服务就能恢复。
一句话判断:小锁在,通信是加密的;小锁有叉,先怀疑时间、过期和域名不匹配,逐项排查,而不是一键忽略。