查询SSL证书到期情况的最直接方式是通过浏览器里的锁标志来查看或者去用在线的SSL工具去完成这件事, 整个过程完全不需要登录到服务器里进行操作, 只需要花费1分钟的时间就可以确切地知道自己的证书还有多长时间的有效期可以使用了, 如果证书一旦发生过期的情况, 那么网站就再也没有能力建立起HTTPS这种加密连接的手段了, 这时候浏览器会显示出一种叫做“连接不安全”的警告信息, 这种情况会直接影响用户的信任度以及业务的连续性发展下去, 下面列出了三种官方机构推荐出来的查询方法, 这些方法能够覆盖不同方面的使用场景需求。

浏览器直接查看

以Chrome浏览器作为例子来进行说明, 具体操作流程是这样的, 首先你需要访问目标网站, 接着点击地址栏左侧的“锁”图标, 然后选择“证书有效”或者“连接”这两个选项当中的任意一个, 之后在弹出的证书详情窗口当中查看“到期时间”这一个字段, 如果这个证书已经过期了, 那么锁标志就会变成红色的“不安全”标记, 并且页面顶部会呈现出“您的连接不是私密连接”这样的提示信息, 至于Edge浏览器和Firefox浏览器的操作路径也是类似的, 它们都能够在证书信息当中读取到证书的有效期日期。

在线SSL证书查询工具

去那个提供在线SSL检测入口的SSL证书到期查询平台, 好比是gz88.cn, 把目标域名往里面填进去, 系统就会自己把相关信息都给拿出来, 这些信息包括证书是什么时候颁发的, 到期的时间是哪一天, 是谁颁发的机构还有剩多少天要到期, 以及证书链是不是完整的, 所有这些都给你了。

这种办法能让你一次输入好几个域名, 很适合运维人员在统一检查的时候用, 不用一个一个去打开浏览器看, 最后查出来的结果可以直接截图用来保存存档。

服务器端命令行查询

在成功登录了Web服务器之后, 接下来执行的操作是。

openssl s_client -connect 域名:443 2>/dev/null | openssl x509 -noout -dates

输出里面的 notBefore 就是签发的时间, 而 notAfter 则是到期的时间。如果想要查看完整的证书相关信息的话, 只需要追加 -text 这个参数就可以解决了。这样的做法是适用于那些没办法访问外网的内网环境的。

到期前分级处理建议

SSL证书到期查询:3种方法快速查有效期,防止网站锁标失效(图1)

在剩余的30天这个时间段内, 你要去启动那个续签的流程, 去联系CA机构或者是那个证书的提供商, 向他们提交续期的这个申请, 这样做的目的就是为了避免到最后临时去办理加急的这个情况。

剩余的天数是七天的时间, 在完成新证书的签发之后, 需要将其部署到服务器上面, 并且要验证各个IP地址以及域名的访问情况都应该是处于正常状态的。

证书已经到期, 所以必须马上更换。你需要检查 Nginx、Apache 或者 IIS 这些服务的配置,看看里面的证书路径对不对, 还要看证书的格式是 PEM 类型还是 DER 类型, 确认没有问题之后, 重载一下服务, 这样才能让变更生效。

常见问题

在Q中, 浏览器方面显示证书是有效的状态, 然而实际上这个证书已经过期的情况出现了。

A说, 有些浏览器里头会存着本地缓存这个东西, 建议大家把那个缓存给清了, 然后再重新去访问试试, 或者也可以去用一下那种在线的SSl查询工具, 这样就可以拿到当前的实时的状态了。

Q:查询结果提示"证书链不完整"?

需要确认中间证书这个玩意儿对不对得部署在服务器的上面, 把那个中间证书的具体内容放到服务器的证书链的文件里面去, 存下来之后重载一下服务。

怎么能够防止, 因为人工地一个接一个地去查询, 最后导致有遗漏这个情况的发生呢?

A: 您可以在gz88.cn这个平台的SSL到期监控功能里头, 去设一下那个提醒。它可以分三级来发, 就是在过期前的30天、15天和7天, 分别发短信和发邮件给您。这样做是为了实现自动的预警, 好让证书在到期之前就完成续签的部署。这样能把人工巡检时候看不见的地方也给消除掉, 就不会有盲区了。