前言

平时工作里难免会碰上这种情况:手里头管着好几个网站,有的证书是在阿里云申请的,有的是在腾讯云弄的,还有的是直接用 acme.sh 脚本生成的。每个平台的到期时间都不一样,有时候忙起来就忘了续期,等到用户反馈说网站打不开,一看浏览器报“连接不安全”,这才一拍脑袋想起来证书过期了。

Domain Admin 这个工具就是为了解决这个痛点出现的。它是一个基于 Python 开发的域名和 SSL 证书监测平台,界面用的是 Vue3,整体体验比较轻量。你只需要把要监控的域名填进去,它就会自动抓取证书信息,计算剩余天数,并且支持邮件、企业微信、钉钉这些渠道发提醒。对于使用 Let‘s Encrypt 证书的情况,它甚至能帮你自动续期。

这篇文章是我自己在云服务器上部署时的操作记录,面向的是没有任何基础的新手,我会尽量把每一步都写清楚。

第一步:准备工作:

准备一台具备公网IP的云服务器(推荐使用雨云)

优惠注册地址:https://www.rainyun.com/sn_

使用优惠码:sn

注: 使用优惠码注册后绑定微信可领取5折优惠券

服务器选购步骤:

  1. 注册后,在"总览"页面找到"云服务器"入口,进入后点击"购买云服务器"

    2.根据需求选择合适的配置,建议选择国内的服务器,访问更快,选好后点击立即购买即可

    3.选好后进入控制台,使用SSH客户端远程连接服务器即可,SSH客户端建议选择FinalShell

登录到服务器后,执行更新指令

apt update && apt upgrade -y   # Debian/Ubuntu 系统用这个
# 如果你的是 CentOS,则用:yum update -y

这个过程可能会需要一两分钟,等它跑完就行。

第二步:安装 Docker 和 Docker Compose

Domain Admin 的部署方式有好几种,包括 pip 安装、源码安装、Docker 安装。对于新手来说,Docker 是最省心的方式,因为它把运行环境都打包好了,不会污染服务器系统,卸载也干净。

先安装 Docker 的官方脚本(这一步是安全的,Docker 官方提供的):

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

装完以后启动 Docker 服务,并设置开机自启:

systemctl start docker
systemctl enable docker

验证一下是否装好了:

docker --version

如果能正常显示版本号,说明 Docker 安装成功。

Docker Compose 是一个用来定义和运行多容器 Docker 应用的工具,后面我们会用到一个简单的配置文件。安装命令如下:

curl -L “https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

验证安装:

docker-compose --version

第三步:创建项目目录并编写配置文件

为了让文件管理更清晰,我习惯把各种 Docker 项目都放在 /root/data 下面,每个项目单独一个文件夹。

mkdir -p /root/data/domain-admin
cd /root/data/domain-admin

接下来要创建一个 docker-compose.yml 文件,这个文件告诉 Docker 要怎么运行 Domain Admin。

vim docker-compose.yml

i 键进入编辑模式,然后把下面的内容复制进去:

version: ‘3.3’
services:
  domain-admin:
    image: mouday/domain-admin:latest
    container_name: domain-admin
    restart: unless-stopped
    volumes:
      - ‘./database:/app/database’
      - ‘./logs:/app/logs’
    ports:
      - ‘8000:8000’

简单解释一下这几行是干嘛的:

  • image:指定使用的镜像,这里用的是官方最新版。
  • volumes:把容器里的数据库文件和日志文件映射到宿主机当前目录,这样就算容器删了,数据还在。
  • ports:把容器的 8000 端口映射到宿主机的 8000 端口,后面访问就是通过这个端口。
  • restart: unless-stopped:如果服务器重启或者容器意外退出,会自动重启,除非你手动停掉。

ESC 退出编辑模式,输入 :wq 保存并退出。

第四步:启动容器

配置文件写好了,现在直接启动:

docker-compose up -d

-d 参数表示后台运行。第一次启动会从 Docker Hub 拉取镜像,可能需要等一会儿,取决于服务器带宽。

启动完成后,可以用下面的命令查看容器运行状态:

docker ps

如果看到 domain-admin 在列表里,状态是 Up,就说明启动成功了。

第五步:配置云服务器安全组

这时候其实服务已经在跑了,但你还访问不了,因为云服务器厂商默认会把所有端口都挡在外面,需要手动放行。

登录你的云服务器控制台,找到“安全组”或者“防火墙”的入口(不同厂商叫法略有不同)。添加一条规则:

  • 端口:8000
  • 协议:TCP
  • 来源:0.0.0.0/0(表示允许所有 IP 访问,如果你只想自己用,也可以填你本地的公网 IP)

如果你用的是腾讯云,可以参考官方文档里关于安全组的说明;阿里云也有类似的“安全组规则”配置。

第六步:访问并完成初始化

打开浏览器,输入 http://你的服务器IP:8000,应该就能看到登录界面了。

默认的账号密码是:

  • 用户名:admin
  • 密码:123456

登录进去之后,建议第一时间修改默认密码。在右上角或者个人设置里找到修改密码的地方,换成你自己的复杂密码。

第七步:添加要监控的域名

登录之后,界面是中文的,比较友好。点击左侧的“证书监控”,然后点“添加”。

这里可以填你要监控的域名,比如 google.com 或者 www.baidu.com。支持单域名、多域名、通配符证书。填完之后保存,系统就会自动去抓取这个域名的证书信息,并显示过期时间。

如果你有域名管理的需求,还可以在“域名监控”里添加域名,监控域名本身的过期时间(这个依赖 Whois 查询)。

结语

整个部署过程其实也就十几分钟,比起手动记证书到期时间,或者每个月登录一次各个云厂商的后台,Domain Admin 这种集中监控的方式确实省心不少。部署好之后,你甚至可以用 Nginx 反代一下,配上自己的域名和 HTTPS,这样访问起来就更像是自建的一个内部服务了。

希望这篇笔记对你有用。如果在部署过程中碰到什么问题,欢迎留言交流。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐