1.5 KiB
1.5 KiB
SSL 证书管理
使用 Let's Encrypt 免费证书,由 certbot 容器自动管理。
常用命令
# 首次申请(必须先确保域名已解析)
./deploy.sh ssl-init
# 用测试环境验证(不消耗申请限额)
./deploy.sh ssl-init --staging
# 手动续签
./deploy.sh ssl-renew
# 查看证书状态
./deploy.sh ssl-status
certbot 容器每 12 小时自动检查续签,证书到期前 30 天自动更新,无需人工干预。
更换域名后重新申请
更换 ROOT_DOMAIN 后需要重新申请证书:
# 1. 测试验证(不消耗申请限额)
./deploy.sh ssl-init --staging
# 2. 正式申请
./deploy.sh ssl-init
# 3. 重启所有服务
./deploy.sh restart
Let's Encrypt 有频率限制:每 7 天同一域名最多申请 5 次。调试阶段务必用
--staging参数。
验证文件放置
微信后台添加授权域名时,要求在域名根目录放置 .txt 验证文件:
- 将微信提供的验证文件(如
MP_verify_xxx.txt)放入api/根目录 - 重建 api 镜像使其生效:
./deploy.sh rebuild api
数据持久化
SSL 相关的 Docker Volume:
| Volume | 挂载点 | 说明 |
|---|---|---|
certbot-webroot |
/var/www/certbot | ACME 域名验证文件 |
certbot-certs |
/etc/letsencrypt | SSL 证书文件 |
卸载时若删除
certbot-certsvolume,证书将丢失,需重新申请。详见 卸载和清理。