可通过宝塔面板SSL列表查看、OpenSSL命令批量查询、导出CSV生成提醒清单、配置Shell脚本自动告警四种方法管理多网站SSL证书到期时间。

如果您在宝塔面板中部署了多个网站并配置了各自的SSL证书,但难以掌握各证书的到期时间,则可能面临证书过期导致网站HTTPS中断的风险。以下是管理多个SSL证书到期时间的具体操作方法:
一、通过宝塔面板SSL证书列表查看到期时间
宝塔面板后台集成了统一的SSL证书管理界面,所有通过面板申请、上传或部署的证书均集中展示,并明确标注有效期信息。
1、登录宝塔面板后台,点击左侧菜单栏中的网站选项。
2、在网站列表页右上角,点击SSL按钮,进入SSL证书管理页面。
3、在证书列表中,每行显示一个证书,其“到期时间”列直接显示年月日格式的截止日期,例如“2025-06-12”。
4、可点击表头到期时间进行升序或降序排列,快速定位即将过期(如30天内)的证书。
二、使用命令行批量查询证书到期时间
当证书部分为手动部署或未被面板自动识别时,可通过OpenSSL命令直接读取服务器上证书文件的X.509信息,获取准确的Not After字段值。
1、通过SSH连接服务器,执行命令进入宝塔默认证书存储目录:cd /www/server/panel/vhost/cert/。
2、列出所有子目录(每个子目录对应一个域名):ls -1。
3、对任一域名目录(如example.com),运行以下命令提取到期时间:openssl x509 -in example.com/fullchain.pem -noout -enddate | awk '{print $4,$5,$6}'。
4、为批量处理,可执行循环脚本:for d in */; do echo "$d:"; openssl x509 -in "${d%/}/fullchain.pem" -noout -enddate 2>/dev/null | cut -d' ' -f4-; done。
三、导出证书信息生成本地到期提醒清单
将面板中可见的证书信息导出为结构化数据,便于离线核查与人工排期,避免依赖面板实时状态。
1、在SSL证书管理页面,点击右上角导出按钮,下载CSV格式文件。
2、打开CSV文件,确认包含域名、证书类型、签发时间、到期时间、状态等字段。
3、使用Excel或WPS筛选“到期时间”列,设置条件格式:对距离当前日期小于30天的单元格标红。
4、另存该表格为“SSL证书到期提醒清单.xlsx”,并定期(如每周一)重新导出覆盖更新。
四、配置Shell脚本实现自动检测与邮件告警
通过定时任务运行自定义脚本,扫描所有证书文件并对比系统日期,对临近过期证书触发告警,弥补人工巡检盲区。
1、创建检测脚本文件:vi /www/server/panel/script/check_ssl_expire.sh。
2、写入内容:读取/www/server/panel/vhost/cert/*/fullchain.pem,用OpenSSL提取Not After,计算剩余天数,若≤7则输出域名与剩余天数。
3、赋予执行权限:chmod +x /www/server/panel/script/check_ssl_expire.sh。
4、在宝塔面板的计划任务 → 添加定时任务中,设置每天凌晨2点执行该脚本,并将输出重定向至日志;同时勾选“发送邮件通知”选项。









