背景
目前ssl 证书大多有效期只有一年,所以每年都要更换一次,公司项目多域名解析上千条,如果漏一条都会导致业务异常
思路
通过云厂商获取dns解析记录,通过openssl命令批量获取解析记录中的证书信息,匹配时间
脚本
1、check过期时间的脚本
ok.txt输出的是域名 过期时间
failed代表命令执行失败,需要区分是否有其他端口
cat ssl_check.sh
echo $1
output=$(echo "Q" | openssl s_client -connect $1:443 -servername $1 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null)
if [ $? -eq 0 ]; then
echo $1 $output>> ok.txt
else
echo $1 >> failed.txt
fi%
将域名列表写到一个文件中 domain.txt
cat domain.txt|xargs -i bash ssl_check.sh {}