服务器 > 网络 > SSL

HTTPS 证书自动续签工具

88人参与 2024-08-06 SSL

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

巡检结果

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

NGINX使用OpenSSL自签证书实现HTTPS安全访问-完整版

08-06

5分钟完成购买域名、服务器、安装nginx、申请SSL证书、部署SSL证书、实现HTTPS安全访问

08-06

IIS安全指南:解决HTTP访问正常而HTTPS失败的解决方案

08-06

详解网站提示err ssl protocol error

08-06

华为ssl vpn配置案例

08-06

参数理解 openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj “/CN=admission_ca“

08-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论