修正泛域名签发参数避免重复请求已覆盖子域
Some checks are pending
Security Checks / security (push) Waiting to run

This commit is contained in:
smail 2026-10-02 14:49:21 +08:00
parent b9cfc4619b
commit d5cc8b3132
3 changed files with 3 additions and 4 deletions

View File

@ -1,7 +1,6 @@
# 首次签发及网页、邮件协议证书切换均确认后,再启用续期计时器。
# 正式文件为 /etc/smail/acme-renew.env,root 所有,权限 0600。
# 使用 DNS 验证签发根域、泛域名及后台域名,不占用验证端口。
# 使用 DNS 验证签发根域和泛域名,后台域名必须在其覆盖范围内,不占用验证端口。
# 专用服务商和最小权限凭据填写在 acme-dns.env,不能沿用示例或历史数据。
SMAIL_MAIL_DOMAIN=
SMAIL_WEB_DOMAIN=
SMAIL_ACME_EMAIL=

View File

@ -8,7 +8,7 @@ Type=oneshot
EnvironmentFile=/etc/smail/acme-dns.env
EnvironmentFile=/etc/smail/acme-renew.env
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/local/libexec/smail-acme/lego --path /var/lib/smail-acme-tls --email ${SMAIL_ACME_EMAIL} --accept-tos --key-type ec256 --dns ${SMAIL_ACME_DNS_PROVIDER} --domains ${SMAIL_MAIL_DOMAIN} --domains *.${SMAIL_MAIL_DOMAIN} --domains ${SMAIL_WEB_DOMAIN} --filename smail --http-timeout 20 --cert.timeout 120 renew --days 30 --reuse-key --no-random-sleep
ExecStart=/usr/local/libexec/smail-acme/lego --path /var/lib/smail-acme-tls --email ${SMAIL_ACME_EMAIL} --accept-tos --key-type ec256 --dns ${SMAIL_ACME_DNS_PROVIDER} --domains ${SMAIL_MAIL_DOMAIN} --domains *.${SMAIL_MAIL_DOMAIN} --filename smail --http-timeout 20 --cert.timeout 120 renew --days 30 --reuse-key --no-random-sleep
ExecStartPost=/opt/smail/smail-config --root /opt/smail --external-tls-dir /var/lib/smail-acme-tls/certificates --publish-external-tls /etc/nginx/smail/tls.pem
ExecStartPost=/usr/sbin/nginx -t
ExecStartPost=/usr/bin/systemctl reload nginx.service

View File

@ -57,7 +57,7 @@
1. 安装与项目依赖版本一致的 lego 到 `/usr/local/libexec/smail-acme/lego`,安装最新版 `smail-config` 到 `/opt/smail/smail-config`。
2. 创建权限为 `0700` 的 `/var/lib/smail-acme-tls`,以及权限为 `0600`、root 所有的 `/etc/smail/acme-dns.env` 与 `/etc/smail/acme-renew.env`。按对应示例填写,禁止输出凭据或加入仓库。
3. 首次使用相同参数执行 lego 的 `run` 完成签发,不能直接用缺少账户和证书状态的 `renew` 初始化。固定使用 `--filename smail`;域名包括邮件根域、该根域的泛域名及后台域名,验证方式为 DNS。
3. 首次使用相同参数执行 lego 的 `run` 完成签发,不能直接用缺少账户和证书状态的 `renew` 初始化。固定使用 `--filename smail`;申请邮件根域及其泛域名,验证方式为 DNS。本模板要求后台域名被该证书覆盖;不要重复加入已被泛域名覆盖的后台子域,否则签发机构可能拒绝请求。独立的后台域名需要管理员额外加入明确的申请参数。
4. 执行下列发布命令。该命令校验证书有效期、域名、密钥匹配及文件权限,拒绝符号链接、不安全路径和源目录内覆盖;失败时保留原有 Nginx 合并证书。
```sh