我是靠谱客的博主 发嗲蜜粉,最近开发中收集的这篇文章主要介绍监控域名证书到期时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.需求

nginx服务器中的域名,在跑的业务域名比较多,需要监控各个域名的证书到期时间,提前做好准备更换证书。
网上有很多的平台监控,但很多都是需要付费的,本次是使用telegram配合做监控提示。

2.nginx服务器上编辑脚本

vim check_ssl.sh

#!/bin/bash
 
#证书位置
ssl_folder='/opt/lucky/nginx/conf/keys/baidu/'
 
#设置定判定剩余时间
day=400

#主机名称
host=`hostname`
 
#tg群組跟机器人
chat_id='@123_gsds'       #等号后面写你的ID,本次这里由于私密问题,是乱输入的
token='bot534543543:AAEaesatawetggfeawtsg223'   #等号后面写你自己的token,本次这里由于私密问题,是乱输入的
 
#tg发送指令
send_tg(){
  echo $1
  curl -g "https://api.telegram.org/$token/sendMessage?text=$1&chat_id=$chat_id"
}
 
 
check_ssl (){
 
    EXP_DAY=`openssl x509 -enddate -noout -in $file | grep "notAfter" | awk -F '=' '{print $2}'`
    NOW_TIME=`date +%s`
    EXP_TIME=`date +%s -d "${EXP_DAY}"`
    
    if [ "${EXP_DAY}" != '' -a ${NOW_TIME} -lt ${EXP_TIME} ]; then
        echo $(((EXP_TIME-NOW_TIME)/(60*60*24)))
    else
        echo "ERROR"
    fi
}
 
 
for file in $(find $ssl_folder -name *.crt)
do
    result=`check_ssl $file`
 
 
    if [ "$result" == 'ERROR' ];then
        # echo '----'
        echo 'SSL 证书过期' $file
        send_tg "$host 服务器的 $file SSL 证书过期"
    else
        if [ $result -lt $day ]; then
            echo "$host 服务器的 $file 过期时间小于 $day 天, 剩 $result 天过期"
            send_tg "$host 服务器的 $file 过期时间小于 $day 天, 剩 $result 天过期"
        else
            echo $result $file
        fi
    fi
 
done

脚本根据你的nginx路径,做一些改动,之后设置定时任务,定时运行这个脚本,即可。

3.验证

在这里插入图片描述

4.注意

群组频道类型要选择公开
在这里插入图片描述

最后

以上就是发嗲蜜粉为你收集整理的监控域名证书到期时间的全部内容,希望文章能够帮你解决监控域名证书到期时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部