在现代的企业网络中,网站安全和可靠性是至关重要的。一个不注意的SSL证书过期可能导致网站出现问题,给公司业务带来严重的影响。针对这个问题,手动检测每个域名和机器的证书状态需要花费大量的时间和精力。为了解决这个问题,我想向大家介绍一个自动监测SSL证书过期的轻量级监控方案 - Domain Admin。
Domain Admin是一个基于Python + Vue3.js技术栈实现的域名和SSL证书监测平台,它可以帮助我们自动检测多个业务域名的SSL证书是否过期。不同业务域名的证书可以从不同的平台申请,而Domain Admin可以无缝集成这些不同的平台,并在证书到期前提前通知我们。
通过使用Domain Admin,我们可以保证网站的安全性和可靠性,避免因为证书过期而导致的线上访问异常,从而避免被老板责骂的尴尬场景。
功能描述
- 核心功能:域名 和SSL证书 的过期监控,到期提醒
- 支持证书:单域名证书、多域名证书、通配符证书、IP证书、自签名证书
- 证书部署: 单一主机部署、多主机部署、动态主机部署
- 通知渠道:支持邮件、Webhook、企业微信、钉钉、飞书等通知方式
- 支持平台:macOS、Linux、Windows
- 辅助功能:Let's Encrypt SSL证书申请
安装
管理员默认的账号和密码
账号:admin
密码:123456
强烈建议:登录系统后修改默认密码
方式一:pip安装
运行环境:
Python >= 2.7 或者 Python >= 3.4
可以使用 pyenv + venv 管理多个Python版本和隔离虚拟环境
bash
$ python3 --version
Python 3.7.0
创建名为 venv 的虚拟环境
bash
$ python3 -m venv venv
激活虚拟环境
bash
$ source venv/bin/activate
安装启动 domain-admin 【linux / macos 安装】
bash
$ pip install gunicorn domain-admin
$ gunicorn --bind '127.0.0.1:8000' 'domain_admin.main:app'
安装 domain-admin【windows 安装】
bash
$ pip install waitress domain-admin
$ waitress-serve --listen=127.0.0.1:8000 'domain_admin.main:app'
访问地址:http://127.0.0.1:8000
升级到最新版本
bash
$ pip3 install -U domain-admin -i https://pypi.org/simple
方式二:docker启动
bash
$ docker run -p 8000:8000 mouday/domain-admin
#后台运行
$ docker run -d -p 8000:8000 mouday/domain-admin
#本地文件夹和容器文件夹映射
$ docker run \
-v $(pwd)/database:/app/database \
-v $(pwd)/logs:/app/logs \
-p 8000:8000 \
--name domain-admin \
mouday/domain-admin:latest
方式三:下载源码安装
下载地址:https://github.com/mouday/domain-admin/releases
本方式仅适用于二次开发,推荐采用 pip安装 或者 docker启动 的方式体验
例如:以v1.5.8为例
每次发布都会包含以下代码包
domain-admin-1.5.8.tar.gz # 完整源码包,包含打包后的H5端、web端代码
domain_admin-1.5.8-py2.py3-none-any.whl # pip包,可直接安装
domain-admin-mini-v1.5.8.tar.gz # H5端源码
domain-admin-web-v1.5.8.tar.gz # web端源码
Source code(zip) # Python源码 windows适用
Source code(tar.gz) # Python源码 linux/mac适用
下载 domain-admin-1.5.8.tar.gz
bash
wget https://github.com/mouday/domain-admin/releases/download/v1.5.8/domain-admin-1.5.8.tar.gz
cd domain-admin
安装依赖
bash
pip install -r requirements.txt
启动运行
bash
$ gunicorn --bind '127.0.0.1:8000' 'domain_admin.main:app'
-
项目地址:
-
发布渠道:
pypi:https://pypi.org/project/domain-admin
-
使用文档:
github: https://mouday.github.io/domain-admin/
gitee: https://mouday.gitee.io/domain-admin/
readthedocs: https://domain-admin.readthedocs.io