news 2026/6/15 11:13:49

从命令行到Web面板:用Domain Admin搭建你的私有域名与SSL证书监控平台(Docker部署指南)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从命令行到Web面板:用Domain Admin搭建你的私有域名与SSL证书监控平台(Docker部署指南)

从命令行到Web面板:用Domain Admin搭建你的私有域名与SSL证书监控平台(Docker部署指南)

在数字化资产管理的日常工作中,域名和SSL证书的有效期监控往往是最容易被忽视却后果最严重的环节之一。我曾亲眼见证一个日均百万流量的电商平台因域名过期未续费导致72小时服务中断,直接损失超过千万。这种"低级错误"在技术团队中并不罕见——当企业拥有数十个分布式业务域名时,仅靠人工记录和日历提醒显然力不从心。

Domain Admin正是为解决这一痛点而生的开源解决方案。与传统whois命令行工具不同,它通过可视化面板集中展示所有域名的注册信息、SSL证书状态和到期时间,支持邮件、钉钉等多渠道预警,甚至能自动生成续费工单。本文将分享如何用Docker Compose快速搭建这套系统,并实现与企业现有运维体系的深度集成。

1. 环境准备与Docker部署

1.1 硬件资源规划

对于中小规模部署(监控≤50个域名),建议以下最低配置:

资源类型推荐配置说明
CPU2核需支持x86_64架构
内存2GB实际占用约800MB
存储10GB SSD数据库增长约1MB/域名/年
网络1Mbps带宽每域名检测产生约5KB流量

生产环境建议部署在独立内网服务器,避免与业务容器争抢资源。测试环境可使用本地开发机,以下是我的MacBook Pro实测数据:

# 资源占用监控命令 docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}" CONTAINER CPU % MEM USAGE domain-admin 0.5% 145MiB / 1.2GiB postgres 0.3% 85MiB / 512MiB

1.2 一键部署方案

Domain Admin官方提供全功能Docker镜像,使用docker-compose.yml实现依赖服务编排:

version: '3' services: app: image: mouday/domain-admin:latest ports: - "8000:8000" volumes: - ./data:/app/data environment: - DB_URL=postgresql://postgres:123456@db:5432/domain_admin depends_on: - db restart: unless-stopped db: image: postgres:13-alpine volumes: - pg_data:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=123456 - POSTGRES_DB=domain_admin restart: unless-stopped volumes: pg_data:

启动服务只需执行:

mkdir -p ./data && chmod 777 ./data docker-compose up -d

注意:首次启动约需2分钟完成数据库初始化,访问http://服务器IP:8000使用默认账号admin/123456登录。

2. 核心功能配置实战

2.1 域名监控体系搭建

添加监控域名时,系统会自动通过WHOIS协议获取以下信息字段:

  • 注册商信息
  • 注册人联系方式
  • DNS服务器列表
  • 注册日期/到期日期
  • 域名状态(如clientTransferProhibited)

批量导入技巧:准备CSV文件按以下格式保存,通过Web界面"批量导入"功能一次性添加:

domain,group,comment example.com,生产环境,主站域名 api.example.com,生产环境,移动端接口 blog.example.org,营销系统,官方博客

实际项目中我发现个隐藏功能:对.com.cn这类复合后缀域名,需要手动指定WHOIS服务器才能正确查询。例如添加阿里云域名时,在"高级设置"中填写:

WHOIS服务器 = whois.aliyun.com

2.2 SSL证书监控配置

与传统域名监控不同,SSL证书检测需要特殊处理:

  1. 端口扫描:默认检测443端口,但微服务架构下可能有多个HTTPS端点
  2. 证书链验证:中间证书过期同样会导致浏览器告警
  3. SAN检测:多域名证书需检查所有备用名称(Subject Alternative Name)

在"证书管理"页面添加监控时,支持三种检测模式:

检测模式适用场景检测频率网络要求
主动连接公网可访问服务实时需出站443端口
被动解析仅上传证书文件手动
代理检测内网服务/NAT穿透定时需配置代理

对于内网服务,我推荐使用Nginx反向代理实现证书暴露:

server { listen 8443; server_name _; ssl_certificate /path/to/internal.crt; ssl_certificate_key /path/to/internal.key; location / { return 200 '{"status":"OK"}'; add_header Content-Type application/json; } }

3. 告警通知与集成方案

3.1 多级预警阈值设置

合理的预警时间梯度能避免告警疲劳:

# 预警规则示例 - 在config.py中自定义 ALERT_RULES = { "domain": [ {"days": 30, "level": "warning", "channels": ["email"]}, {"days": 7, "level": "critical", "channels": ["sms", "dingtalk"]} ], "ssl": [ {"days": 45, "level": "warning", "channels": ["email"]}, {"days": 15, "level": "critical", "channels": ["wecom"]} ] }

3.2 企业微信机器人集成

在"通知设置"中选择Webhook类型,填写机器人地址:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的KEY

消息模板支持Markdown语法,这是我的团队正在使用的版本:

**域名紧急告警** > 类型:${type} > 名称:${name} > 剩余天数:${days}天 > 到期时间:${expire_date} 请立即处理:[点击续费](${renew_url})

4. 高级功能与系统集成

4.1 API自动化管理

Domain Admin提供完整的REST API,适合纳入DevOps流水线。获取API Token后,可用curl管理资源:

# 获取域名列表 curl -X GET "http://localhost:8000/api/domain" \ -H "Authorization: Bearer your_token" # 添加新域名 curl -X POST "http://localhost:8000/api/domain" \ -H "Content-Type: application/json" \ -d '{"domain": "new.example.com", "group": "测试环境"}'

4.2 Prometheus监控集成

暴露/metrics端点供Prometheus抓取,关键指标包括:

  • domain_expire_days域名剩余天数
  • ssl_expire_days证书剩余天数
  • last_check_timestamp最后检测时间

Grafana仪表盘配置示例:

SELECT min(domain_expire_days) as min_days, avg(domain_expire_days) as avg_days FROM metrics WHERE time > now() - 1h GROUP BY domain_group

4.3 数据备份策略

采用双备份机制确保数据安全:

  1. 数据库每日dump
docker exec -t domain-admin_db pg_dump -U postgres domain_admin > backup_$(date +%F).sql
  1. 配置文件版本控制
git add data/config.json git commit -m "update domain config"

在Kubernetes环境中,建议通过VolumeClaimTemplate实现持久化存储自动备份。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 11:07:59

阿里AI业务半年三次人事震荡:集权调整背后的激进战略与人才流失

阿里AI业务再陷舆论漩涡一场漫长且诡异的高管离职传闻,正将阿里AI业务再度推至舆论中心。6月13日据IT之家报道,阿里合伙人周靖人近日已提交离职申请。就在六天前的6月8日,阿里刚宣布周靖人出任阿里巴巴首席科学家,牵头成立AI未来研…

作者头像 李华
网站建设 2026/6/15 11:03:08

告别硬件依赖:手把手教你用SkyEye仿真FT-M6678 DSP运行国产ReWorks系统

无硬件开发革命:SkyEye仿真平台运行国产ReWorks系统全指南 在嵌入式开发领域,硬件资源限制往往是阻碍项目快速推进的最大瓶颈。无论是昂贵的DSP开发板采购周期,还是有限的物理设备共享冲突,都让软件开发效率大打折扣。而今天&…

作者头像 李华