TLS 与 ACME

Service.TLS.Enabled 开启后:

事项 说明
签发 ACME HTTP-01 质询:服务器在 HTTP 端口应答质询;站点注册携带域名时自动发起签发
续期 每日检查证书有效期,到期前 30 天自动续期
热加载 证书更新后热加载,不重启进程
跳转 HTTP 端口将非质询、非管理流量 301 跳转到 HTTPS
管理 HTTP 端口(质询/跳转端口)同时服务管理 API(/api/v1/sites 子树)与健康探针:明文 HTTP、Bearer Token 校验,用于首个证书签发前的注册自举;Service.ManagementPort 设置时以独立端口额外监听,仅对内网开放
存储 证书落盘 DataDir/certs/<domain>/
端口 Service.Port 即 HTTPS 监听端口;HTTP 质询与管理端口为 Service.TLS.HTTPPort

ACME 账户邮箱在 Service.TLS.Email 配置;Service.TLS.DirectoryURL 指向 ACME 目录地址,联调时切换为 ACME staging 地址。

部署约束

HTTPS 端口与 HTTP 质询端口需可被公网访问,且 HTTPS 端口未被其他进程占用。Let's Encrypt 的 HTTP-01 验证固定回源域名的 80 端口:公网直连部署时 Service.TLS.HTTPPort 保持缺省 80;反向代理或端口映射部署时,把外部 80 映射到本地自定义的 HTTPPort。

首个带域名站点注册前服务器没有任何证书,HTTPS 端口无法完成 TLS 握手;首次注册走 HTTP 端口(Service.TLS.HTTPPort,缺省 80),该端口同时服务管理 API,证书签发后 HTTPS 生效。管理 API 在 HTTP 端口上以明文传输、仅由 Bearer Token 保护,公网部署时可改用 Service.ManagementPort 指定仅对内网开放的管理端口。质询应答端点的契约见独立 API 参考文档站,站内搜索 ?acme。