SSL证书到期查询是网站运维人员最常执行的操作之一, 核心方法只有一种最快捷的路径, 通过浏览器地址栏锁形图标、命令行工具或在线检测平台三种方式, 30秒内即可确认证书剩余有效天数, 以下按操作效率从高到低逐一说明。
浏览器直接查看(最快,5秒)
咱们就拿 Chrome 和 Edge 浏览器当个例子。你先把鼠标放到地址栏的左边, 去点那个锁形状的图标, 或者是写着“安全”这两个字的地方。这时候屏幕上会弹出一个框, 你在里面找到并点击“连接是安全的”, 然后再点一下里面的“证书有效”。
这样你就能看到证书啥时候发出来的, 啥时候过期的, 还有是哪家机构给发的了。Firefox 用户也不是没有办法。你得先点地址栏那里有个小图标的地方, 接着选“更多信息”, 再下一步是进“安全”选项, 之后点击“查看证书”就能看。
这个方法特别适合大家平时用一用来快速看看情况, 完全不需要你有什么高科技的知识门槛也能搞定。
命令行精确查询(适合批量服务器)
在你进入服务器之后, 把下面的那些命令跑起来, 这样的话就能够拿到这个证书到底是在哪一个具体时间戳就要过期了的这样的消息了。
echo | openssl s_client -connect 你的域名:443 2>/dev/null | openssl x509 -noout -dates
在输出的结果里面, notBefore代表的是生效日期, notAfter代表的是到期日期。假设服务器上部署了好几张证书, 比如说同时存在通配符证书和单域名证书的状况之下, 那就强烈建议去对每一个单独的子域名都分别进行一次检查或者处理, 为的就是绝对避免发生任何遗漏的情况。
在线工具批量检测(适合无服务器权限场景)
当出现无法登录服务器的情况, 或者需要同时对多个域名进行监测的时候 , 大家可以使用在线的SSL检测工具。
举个例子来说吧, 你可以去访问gname.xin所提供的这一个用于查询SSL证书是否到期的服务网站 , 只要在输入框里面把你要查的域名填进去 , 系统就会直接给出非常完整的信息报告 , 这些内容会包含证书链是否完整、证书什么时候到期、到底是哪一个颁发机构签发的、还有支持的是什么协议版本等等方面的详情 , 这个工具还允许用户一次就提交好几个域名进去进行检测 , 然后再批量地把所有结果统一返回给你 , 这样一来 , 它对于运营维护团队用来做周期性的巡检工作来说就非常合适用处很大了。
服务器本地文件查看
证书文件通常存放于 /etc/ssl/、/etc/nginx/ssl/ 或 /usr/local/ssl/ 等目录SSL证书到期查询SSL证书到期查询,文件名多为 .crt 或 .pem。执行:
openssl x509 -in /路径/证书文件.crt -noout -enddate
那么就可以直接去读取那个最终到期的日期了。
证书到期前的关键动作清单
到期前30天的时候, 我们要确认好的那个进行续费的方式是哪一个, 然后要向CA也就是证书颁发机构这个单位去提交关于续期的申请, 同时还要准备CSR即证书签名请求相关的材料。
在到期前7天的时候, 要把新的证书签发工作完成掉。然后要去测试环境里验证一下部署的情况。要确保部署没有出任何差错, 是完全没有问题的情况为止。
在到期以前的这一天里面, 要把生产环境里面的证书文件给更新了, 然后就去执行那个命令说是nginx -s reload或者systemctl restart apache, 好让这个新的证书能够起作用, 再用上面说的那些办法再次确认一下是不是已经更新成功了。
证书过期当天, 如果没能及时更换的话, 网站那边会马上跳出一个叫做连接不安全之类的警告内容出来, 浏览器这边也会直接就拒绝掉访问请求这种情况的 , 搜索引擎优化排名将会遭受特别严重的负面影响, 所以必须得按照紧急处理流程来迅速搞定。
常见疑难
要把SSL证书到期查询这件事, 放到日常的运维巡检工作里面去, 建议是每周做一次这样的工作。然后, 要结合着那些自动化的工具, 把提醒的级别设置为三层。这个分级的时间节点, 分别是在证书到期前的六十天、三十天和七天。这么做了以后, 就可以彻底地把因为证书意外过期, 而导致的业务中断这种情况给杜绝掉。


