SSL 证书
为控制面板启用 Let’s Encrypt
请确保服务器主机名已正确解析到服务器 IP,并在系统中正确设置了主机名。
执行以下命令可更改主机名并为控制面板申请 Let’s Encrypt 证书:
bash
v-change-sys-hostname host.domain.tld
v-add-letsencrypt-host常见 Let’s Encrypt 错误
INFO
由于实现演进,报错信息可能发生变化,以下列表会逐步补充。
| Error | Message |
|---|---|
rateLimited | 触发了频率限制。请在 https://crt.sh 查看该域已签发证书数量。 |
Let’s Encrypt validation status 400
申请证书时可能出现:
bash
Error: Let’s Encrypt validation status 400. Details: Unable to update challenge :: authorisation must be pending可能原因:
- Cloudflare 代理已开启,且 SSL/TLS 设为 Full (strict)。
- Nginx 或 Apache 未正确重载。
- DNS 中启用了 IPv6(可暂时关闭)。
- 所用模板存在问题。
目前可前往 /var/log/hestia/ 查看 LE-{user}-{domain}.log 以定位问题。查找 Step 5 段落并查看 JSON 返回,访问其中的 URL 可获得更详细的错误原因。
其他调试建议
可使用 Let’s Debug:
- 输入域名
- 选择 HTTP-01
- 运行测试
完成后会显示错误或成功提示及更多细节。
Let’s Encrypt 与 Cloudflare 代理能同时使用吗?
可以,但需按如下步骤:
- 先关闭该域名的 Cloudflare 代理(仅 DNS)。
- 等待至少 5 分钟以便 DNS 缓存失效。
- 在面板或 CLI 中申请证书。
- 重新开启代理。
- 在 SSL/TLS 中切换为 Full (strict)。