外观
系统部署与
系统部署
推荐服务器配置
| 项目 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 2 核 | 4 核及以上 |
| 内存 | 2 GB | 4 GB 及以上 |
| 磁盘 | 20 GB | 20 GB 及以上,建议独立数据盘 |
| 系统 | Linux x86_64 | Rocky Linux |
| 运行环境 | Docker | Docker + Docker Compose |
系统本身资源占用较低,但证书附件、运行日志、数据库和备份会持续增长,生产环境不建议使用过小磁盘。
网络与访问要求
内网 Docker 部署时,服务器通常不需要暴露公网入口,但需要满足以下出站访问:
- 访问 ACME 证书颁发机构,例如 Let's Encrypt、Digicert、SSL.com 等。
- 访问 DNS 服务商 API,用于 DNS-01 域名验证。
- 访问 SMTP 邮件服务器,用于发送证书附件。
验证方式建议
高校内网场景更建议使用 DNS-01 验证。HTTP-01 验证要求业务域名能从公网访问到验证文件,通常不适合大量内网或受控出口环境。
内网 Docker 部署步骤
准备部署目录
bash
mkdir -p /docker/campuscert/data
cd /docker/campuscert1
2
2
data 目录会挂载到容器的 /app/pb_data,其中包含数据库、上传文件、运行数据等关键内容。
数据目录
/opt/campuscert/data 是系统最关键的数据目录。升级、重启或迁移容器时不要删除该目录。
编写 Docker Compose 配置
yaml
services:
certimate:
image: campuscert:v0.1.0
container_name: campuscert
ports:
- "18090:8090"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./data:/app/pb_data
dns:
- 223.5.5.5
- 1.1.1.1
- 8.8.8.8
restart: unless-stopped1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
配置说明:
| 配置项 | 说明 |
|---|---|
image | 镜像campuscert:v0.1.0由管理员上传导入 |
18090:8090 | 宿主机访问端口映射,可按学校内网规范调整 |
./data:/app/pb_data | 持久化数据目录,必须保留 |
dns | 容器 DNS 解析服务器,可替换为学校内部 DNS |
restart: unless-stopped | 容器异常退出后自动拉起 |
启动服务
bash
docker compose up -d
docker compose logs -f campuscert1
2
2
浏览器访问:
text
http://服务器内网IP:180901
授权凭据准备
授权凭据准备
授权凭据主要就是需要准备第三方 DNS 服务商的授权凭据,用于 DNS-01 验证。
提供商
Cloudflare
- 登录 Cloudflare 的 API 令牌配置界面:API 令牌 | Cloudflare,创建新令牌

- 使用编辑区域 DNS 模板

- 配置权限为:
Zone:Zone:Read,Zone:DNS:Edit,区域资源和访问 IP 白名单自行决定,最后保存生成的令牌即可



cfut_NXuhSa41H5Ul5pbhEkFSSqhTWot8JGAzwHRLqyWTc729e32c1
- 拿到令牌后,进入 CampusCert 的授权凭据界面 -> 新建 Cloudflare 授权凭据

证书颁发机构
证书颁发机构这个其实就是指 CA 认证厂商,比如 Let'sEncrypt、DigiCert等。 而我们这个系统本质是通过 ACME 协议来与 CA 认证厂商进行交互,来进行证书的申请、验证、下载、续期。
互动评论 (0)