一款便捷的 HTTPS 证书自动续签工具
httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 服务器设计。
一行命令,一分钟轻松搞定 SSL 证书自动续期,已服务众多中小企业,稳定、安全、可靠。
✨ httpsok 具有以下特性:
✅ 简单高效: 一行命令,一分钟轻松搞定 SSL 证书自动续签
✅ 自动检测: 无需关心 Nginx配置,自动识别证书配置,适合老旧系统、复杂配置的生产环境
✅ 泛解析、多域名、多服务器 轻松搞定
✅ 证书监控: 对于即将失效的证书,提供公众号推送提醒
✅ 兼容性好: 兼容主流的 Linux 系统也支持 Docker 环境运行
🏷️ 官方网址:
https://fposter.cn/doc/
🏷️ Github 地址:
https://github.com/httpsok/httpsok
登录:httpsok轻松搞定SSL证书自动续期|长沙小码网络科技有限公司
复制脚本一键执行
自动上传云上管理
另外:担心信息泄露,也可以使用脚本自动巡检并推送邮件提醒
编写domain.txt文件
百度项目;www.baidu.com:443;180.101.50.242:443
完整脚本
#!/bin/bash
#demo:domain.txt
#百度项目;www.baidu.com:443;180.101.50.242:443
#安装mail
yum -y install mailx
RESULTFILE="AlertResult_SslCheck-`date +%Y%m%d`.txt"
RESULTFILE_bak="NormalResult_SslCheckbak-`date +%Y%m%d`.txt"
rm -rf $RESULTFILE
#执行ssl证书期限检查
function sslcheck(){
for line in $(cat /data/ssltest/domain.txt)
do
projectname=$(echo ${line} | awk -F';' '{print $1}')
domain=$(echo ${line} | awk -F';' '{print $2}')
ip_pool=$(echo ${line} | awk -F ';' '{print $3}' | sed 's/\,/ /g')
for ip in ${ip_pool}
do
echo -e "\n---------------${projectname}---------------\n"
text=$(echo | openssl s_client -servername ${domain} -connect ${ip} 2>/dev/null | openssl x509 -noout -dates )
# 判断命令是否执行成功,执行成功的话 text 变量里面是有内容的
if [[ ${text} ]]
then
end_date=$(echo "$text" | grep -i "notAfter" | awk -F '=' '{print $2}') # 证书过期时间
end_timestamp=$(date -d "$end_date" +%s) # 转换成时间戳
current_timestamp=$(date +%s) # 当前时间戳
# 如果证书过期时间减去当前时间的天数小于七天的话,则提示需要准备更换证书了
remain_date=$(( (${end_timestamp} - ${current_timestamp}) / 86400 ))
if [[ ${remain_date} -lt 7 && ${remain_date} -ge 0 ]]
then
echo -e "IP:${ip};\nDomain:${domain};\nSSL证书期限剩余时间小于七天!请及时更换证书!" >> $RESULTFILE
elif [[ ${remain_date} -lt 0 ]]
then
echo -e "IP:${ip};\nDomain:${domain};\nSSL证书已过期!请及时更换证书!" >> $RESULTFILE
else
echo -e "IP:${ip};\nDomain:${domain};\nSSL证书期限剩余天数为:${remain_date}!" >> $RESULTFILE_bak
fi
else
echo -e "Error!!!${ip};${domain}"
fi
done
done
}
#执行检查
sslcheck
#邮件发送检查结果
if [ -s "$RESULTFILE" ]; then
mailtxt=`cat $RESULTFILE`
echo "`date "+%Y-%m-%d %H:%M:%S"` 项目ssl证书期限巡检报告!检查结果如下:$mailtxt" | mail -v -a $RESULTFILE -s "项目ssl证书期限巡检报告" ***@qq.com
else
echo "ssl证书期限正常!"
fi
巡检结果