为什么“let's encrypt”证书需要根访问权限?

为什么“let's encrypt”证书需要根访问权限?

Let's Encrypt 将其证书用于以下用途:/etc/letsencrypt/live/domain.com/

为什么?如果我没有使用 sudo 权限运行我的 Web 服务器(或者手动更改文件权限,或者只是移动那些证书),我就无法访问它。这看起来非常烦人,但我确信这是有原因的。

您如何解决这个问题?或者您就这样使用它?我正在考虑更改输出目录。

答案1

我最终做了什么: mkdir ~/cert && mkdir ~/cert/work-dir && mkdir ~/cert/logs-dir && certbot certonly --standalone --tls-sni-01-port 8443 --http-01-port 8080 -d 'domain.com' -m '[email protected]' --config-dir ~/cert --agree-tos --no-eff-email --work-dir ~/cert/work-dir --logs-dir ~/cert/logs-dir

处理我的主目录中的所有内容,并运行 certbot 以及与其链接的所有目录。这样,您就不再需要 sudo certbot,这在某种程度上感觉是正确的做法(恕我直言)。

(加时赛)此命令的作用:

  • 创建一个名为主cert目录的目录以及 certbot 所需的工作和日志目录。
  • 同意所有条款,这样命令就不会在任何时候被阻止。即使证书尚未到期,也可以强制续订(因此不要发送此命令!)。
  • 设置日志目录
  • 更改 certbot 正在监听的端口,因为我的 Web 服务器没有使用 sudo 运行,这使得无法使用端口 80。我的防火墙将所有传入流量重新路由到端口 8080 和 8443。
  • 无需使用脚本即可发送该命令renewal。只需将其放入每月左右运行的 cronjob 中即可。

相关内容