轻量级证书监控方案Domain Admin

杨浦老苏 各种折腾 2024年10月23日 19:00

本文软件由网友 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.techhttp://192.168.0.197:8041Domain 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日志文件
图片

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
80418000

默认没有对外暴露端口

图片

需要点 + 号自行添加

图片

环境

可变
APP_MODE生产环境设为 production
图片

命令行安装

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

# 新建文件夹 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 文件

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

然后执行下面的命令

# 新建文件夹 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
  • 发件人账号:[email protected]
  • 发件人密码:第三方邮件客户端密码
图片

保存之后,可以测试一下

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

发送成功

图片

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

图片

通知管理

接下来可以设置通知

图片

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

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

图片

因为老苏没有测试环境,所以 证书申请 之类的功能就略过了,有兴趣可以去看官方文档: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/

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

群晖 · 目录
上一篇AI应用程序低代码构建平台Langflow下一篇不同设备间的剪切板同步服务GCopy

微信扫一扫
关注该公众号