公司有N个域名,证书到期时间也不一致,有些域名使用的是免得的Let's Encrypt,监控证书到期时间就比较重要。
vim  urls.txt
www.xxx.com 项目名称
xxx.xxx.xxx 项目名称
安装模块:
pip install  pyopenssl
pip install  yagmail  #邮件模块有很多,根据个人喜好。#/usr/bin/env python3
# -*- coding:utf-8 -*-
from urllib3.contrib import pyopenssl as req
from datetime import datetime
import  yagmaildef get_domain_list():objlist=[]with open('urls.txt','r') as f:for  i in  f:objlist.append({'domain':i.split()[0],'tag':i.split()[1]})return  objlistdef get_expire_time(url):sslc=req.OpenSSL.crypto.load_certificate(req.OpenSSL.crypto.FILETYPE_PEM,req.ssl.get_server_certificate((url,443)))ca_date=sslc.get_notAfter().decode()[0:-1] #取出证书有效日期return datetime.strptime(ca_date,'%Y%m%d%H%M%S')def send_mail(expire_list):user = 'xxx@126.com'  #邮箱地址password = 'xxxxx'    #密码# 126邮箱host = 'smtp.126.com'   #SMTP地址to = 'xxx@xxx.com'   #收件箱名称subject = 'ssl 证书过期告警'd = ''for i in expire_list:d += '''\<tr><td align="center">''' + str(i['domain']) + '''</td><td align="center">''' + str(i['remain']) + '''</td><td align="center">''' + str(i['tag']) + '''</td></tr>
'''html = '''\
<table width="70%" border="1" bordercolor="black" cellspacing="0" cellpadding="0"><tr><td width="140" align="center" ><strong>域名</strong></td><td width="110" align="center" ><strong>剩余天数</strong></td><td width="110" align="center" ><strong>项目名称</strong></td></tr>
'''+ d +'''</table>'''html = html.replace("\n", "")yag = yagmail.SMTP(user = user, password = password, host = host)yag.send(to = to, subject = subject, contents = html)
if __name__=='__main__':check_days=30   #域名到期前30天domail_list=get_domain_list()for i in domail_list:remain_days=(get_expire_time(i['domain']) - datetime.now()).daysi['remain'] = remain_daysexpire_domain_list=[i for i in domail_list if i['remain'] <= check_days]if (len(expire_domain_list) !=0):send_mail(expire_domain_list)

最后加到crontab 里就可以。

送您一个最高1000元的阿里云大礼包,快来领取吧~

https 证书过期检测相关推荐

  1. Golang:https证书有效期检测

    原理:使用go提供的模块 crypto/tls,可以获取域名证书的信息,通过到期时间可以判断证书是否过期 package mainimport ("crypto/tls"" ...

  2. 使用zabbix-agent2自定义插件获取https证书过期时间

    需求 对经常维护网站的人来说,要经常跟https的证书打交道.一般https证书的有效期是一年,证书一旦过期,公司的损失会非常大.去年网易邮箱因为https证书忘记续期,导致大量用户无法正常使用邮箱就 ...

  3. curl证书过期_centos7内核升级及curl访问https证书过期处理

    centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...

  4. Android https证书过期,Android 的 HTTPS 证书过期异常

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 对于 HTTPS 服务器证书过期的问题,由于 Android 安全库的不断更新,尽管在证书验证的时候抛出的异常大同小异, ...

  5. https证书过期时间应该怎么处理

    在遇到问题的时候,我们首先应该想到的是如何去解决这个问题,而且对于问题的解决方式也应该有一定的了解,或者说是出现这个问题的时候会有一个什么样的结果呈现,了解了这两种情况之后我们才能结合具体的问题进行解 ...

  6. 解决HTTPS证书安全检测时提示 PCI DSS 不合规问题

    解决HTTPS证书安全检测时提示 PCI DSS 不合规问题 今天在进行HTTPS证书安全检测时,提示PCI DSS不合规.经查询得知是因为SSL配置时启用了TLS1.0导致的. 关于 PCI DSS ...

  7. Android Https证书过期解决方案

    2022.11.08 18:09:12   应该有很多小伙伴遇到这样一个问题,在线上已发布的app里,关于https的cer证书过期,从而导致app所有网络请求失效无法使用.   这个时候有人就要说了 ...

  8. https 证书过期问题排查

    一.问题描述 在服务协议由 http 迁移至 https 时,我发现线上环境报错 javax.net.ssl.SSLHandshakeException: sun.security.validator ...

  9. HTTPS证书过期|SSL证书过期 |华硕路由器| NAS|Certtificate is not valid

    1.问题描述 使用DDNS 访问内网的nas时,会有个https的证书问题. 可以用let's encrypt的免费证书解决.但是三个月到期之后需要续签,不然谷歌浏览器chrome会提示风险: You ...

最新文章

  1. java 音乐api接口_关于网易云音乐爬虫的api接口?
  2. linux向上翻页_linux学习基础篇——文件管理(一)
  3. 【vue2.0进阶】案例:用Vuex实现一个简单的计算器
  4. Part Ⅳ Shopping 购物??
  5. Redis集群Windows
  6. tortoisegit pull 远程拉取代码,提示需要密码
  7. Windows11 专业版 体验分享
  8. 代理模式---论坛权限控制代理
  9. 阿弥陀佛么么哒 - 笔记
  10. 2021最后一个月了,你找到带回家的那个她了吗?送你999朵玫瑰。
  11. 初识计算机网络||概述
  12. 企业微信H5登录流程,以及遇到的问题解决
  13. springcloud-alibaba-sentinel(1)sentinel流量卫兵介绍
  14. selenium登录某宝跳过反爬监测及滑块验证
  15. 伊犁哈萨克自治州谷歌高清卫星地图下载
  16. spss下载过程中无法解压的问题
  17. 搭建vue3项目+ts
  18. TCP丢包原因、解决办法
  19. Django开发日记(前后端不分离,使用Templates模板)
  20. Vector BLF格式转ASC格式软件 QT+C++编写

热门文章

  1. Excel文件打开时提示连接被禁用却找不到连接
  2. querylist.php下载,下载QueryList
  3. php querylist 404,Querylist批量采集碰到404咋办
  4. simditor图标不显示
  5. 动态加载laydate 失效_【技术帖】弹簧制动缸支架失效分析与解决方案
  6. LWIP (1.1) ETH Module以太网模块
  7. Android 电话的反射调用机制实现自动接听电话
  8. 大数据在职研究生哪个好_报考大数据在职研究生未来的就业的方向有哪些
  9. 蓝桥杯大赛决赛整理合集(B组C/C++)
  10. 匆匆(朱自清)你聪明的,告诉我,我们的日子为什么一去不复返呢?