轻量级证书监控方案Domain Admin

本文软件由网友 P家单推人 推荐;

什么是 Domain Admin ?

Domain Admin 是基于 Python + Vue3.js 技术栈实现的域名和 SSL 证书监测平台。用于解决,不同业务域名 SSL 证书,申请自不同的平台,到期后不能及时收到通知,导致线上访问异常等问题。

软件功能:

  • 核心功能:域名SSL证书 和 托管证书文件 的过期监控,到期提醒
  • 支持证书:单域名证书、多域名证书、泛域名(通配符)证书、IP证书、自签名证书
  • 证书部署:单一主机部署、多主机部署、动态主机部署
  • 通知渠道:支持邮件、Webhook、企业微信、钉钉、飞书等通知方式
  • 支持平台:macOSLinuxWindows
  • 辅助功能:Let’s Encrypt SSL证书免费申请和 SSL 证书自动续期
  • 多语言:支持中文、英文

反向代理

这一步不是必须的,之后的测试发现在 Edge 上正常,很可能只是老苏的 Chrome 出了问题;

老苏折腾时发现,如果使用 http://群晖IP:port 访问,虽然能登录成功,但是不会跳转到主界面,而是一直卡在登录界面

而使用 https 协议则正常,所以我们假设 Domain Admin 实际访问地址为: https://da.laosu.tech

域名 局域网地址 备注
da.laosu.tech http://192.168.0.197:8041 Domain Admin 的访问地址

因为不需要公网地址,所以本次采用的是 tailscale + npm 方案

文章传送门:用自定义域名访问tailscale节点

按我们预设置的域名、局域网 IP 和端口,在 npm 中进行设置

SSL 没有问题的话,都勾选了

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 mouday ,选择第一个 mouday/domain-admin,版本选择 latest

本文写作时, latest 版本对应为 v1.6.51

docker 文件夹中,创建一个新文件夹 domain-admin,并在其中建两个子文件夹 datalogs

文件夹 装载路径 说明
docker/domain-admin/data /app/database 存放数据库、证书等
docker/domain-admin/logs /app/logs 日志文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8041 8000

默认没有对外暴露端口

需要点 + 号自行添加

环境

可变
APP_MODE 生产环境设为 production

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 新建文件夹 domain-admin 和 子目录
mkdir -p /volume1/docker/domain-admin/{data,logs}

# 进入 domain-admin 目录
cd /volume1/docker/domain-admin

# 运行容器
docker run -d \
--restart unless-stopped \
--name domain-admin \
-p 8041:8000 \
-v $(pwd)/data:/app/database \
-v $(pwd)/logs:/app/logs \
-e APP_MODE=production \
mouday/domain-admin:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3'

services:
domain-admin:
image: mouday/domain-admin:latest
container_name: domain-admin
restart: unless-stopped
ports:
- 8041:8000
volumes:
- ./data:/app/database
- ./logs:/app/logs
environment:
- APP_MODE=production

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 domain-admin 和 子目录
mkdir -p /volume1/docker/domain-admin/{data,logs}

# 进入 domain-admin 目录
cd /volume1/docker/domain-admin

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 https://da.laosu.tech 就能看到登录界面

管理员默认的账号和密码

  • 账号:admin
  • 密码:123456

证书监控

证书管理 –> 证书监控 –> 添加 –> 添加域名

如果出现超时错误 timeout of 60000ms exceeded,可能和网络有关,需要检查下你的主机是否能正常访问 githubusercontent.com

添加成功后

发现并没有获取到有用的证书信息,只能用知名网站试试,发现都是可以的

域名监控

进入 域名监控,能看到域名 laosu.tech 还有 3409 天,因为老苏买了 10

网站监控

网站监控 –> 添加

添加成功后,每个小时都会检查一下网站的运行状态

邮件设置

系统设置 –> 邮件设置

还是以 88 邮箱为例

  • 服务器地址:smtp.88.com
  • 服务器端口:465
  • 发件人名称:Domain Admin
  • 发件人账号: wbsu2003@88.com
  • 发件人密码:第三方邮件客户端密码

保存之后,可以测试一下

  • 收件邮箱:默认是发件人邮箱,建议改一下;
  • 邮件标题:默认即可;
  • 邮件内容:默认即可;

发送成功

如果设置没问题的话,应该很快就会收到测试邮件

通知管理

接下来可以设置通知

当监控的网站发生异常时,就会发邮件提醒。

有了一些数据,主界面就好看一些了

因为老苏没有测试环境,所以 证书申请 之类的功能就略过了,有兴趣可以去看官方文档:https://domain-admin.readthedocs.io/zh-cn/latest/

参考文档

dromara/domain-admin: 域名SSL证书监测平台、SSL证书申请自动续签。Domain and SSL Cert monitor System.
地址:https://github.com/dromara/domain-admin

mouday/domain-admin-web: domain-admin-web
地址:https://github.com/mouday/domain-admin-web

Domain Admin-域名技术分享站
地址:https://domain-admin.cn/

Domain Admin — Domain Admin latest 文档
地址:https://domain-admin.readthedocs.io/zh-cn/latest/