HTTPS 证书自动续签工具

一款便捷的 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

巡检结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xianjie0318

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值