Coolify 代理中未找到证书解析器
如果在 Coolify 代理日志中看到错误消息 Cert resolver doesn't exist letsencrypt,通常意味着您的域名缺少 SSL 证书。当 Coolify 使用非 root 用户账户时,经常会出现此问题。
症状
- Coolify 代理未为您的域名生成 SSL 证书。
- Coolify 代理日志中出现错误
Cert resolver doesn't exist letsencrypt。
诊断
要排查问题,请通过运行以下命令检查 /data/coolify/proxy 目录中 acme.json 文件的权限:
ls /data/coolify/proxy输出结果应类似如下:
-rwxr-x--- 1 shadowarcanist shadowarcanist 32757 Sep 3 15:39 acme.json
-rwxr-x--- 1 shadowarcanist shadowarcanist 1762 Sep 3 18:36 docker-compose.yml
drwxr-x--- 2 shadowarcanist shadowarcanist 4096 Sep 3 15:06 dynamic根本原因
当使用非 root 用户账户运行 Coolify 时,/data/coolify 目录的权限可能未正确设置。
如果 acme.json 文件的权限过于宽松(过于开放),Traefik 将拒绝使用该文件。这会导致 Traefik 无法访问该文件并生成 SSL 证书。
另一方面,如果权限过于严格,Traefik 也将无法读取或写入该文件。
Traefik 需要 acme.json 文件具有适当级别的权限才能正常工作。
解决方案
要解决此问题,请运行以下命令以设置正确的权限:
sudo chmod 600 /data/coolify/proxy/acme.jsonsudo chmod 600 的作用是什么?
chmod 600 命令更改 /data/coolify/proxy/acme.json 文件的权限,使得只有文件所有者(Coolify 使用的用户账户)可以读取和写入该文件。这可以防止其他人访问或修改该文件,同时仍允许 Traefik 使用它。
