我希望有人可以满足我对 certbot 和 nginx 在续订期间如何交互的好奇心。
在我的 Linux 主机上,我设置了 certbot 和 certbot-nginx 插件。我在 /etc/nginx/conf.d 中设置了一些常规 nginx 站点定义,在注册证书时,certbot-nginx 插件将 TLS 信息添加到我的各个站点的这些单独的 nginx conf 文件中。
为了更新,我在每天触发一次的 systemd 服务中执行了以下内容:
/bin/certbot renew --non-interactive --agree-tos --no-self-upgrade --post-hook "systemctl reload nginx"
使用 journalctl 查看 systemd 日志,我可以看到证书在适当的时候被更新。
它确实有效,但让我烦恼的是,我无法在我的配置中找到任何内容告诉 nginx 允许任何域的 '.well-known/acme-challenge' 上的请求通过。它不在我的任何 nginx 配置文件中。我只是想知道 certbot 如何能够在该路径上提供令牌。我已经在文件系统中查找了 'well-known' 和 'acme-challenge',但什么也没找到。我的站点 nginx 配置文件中唯一的 'root' 指令指向它们各自的静态站点。/usr/share/nginx/html 中只有默认的 'It Works' 站点。
certbot 会启动自己的服务器吗?我有点怀疑,因为我认为它不能与 nginx 同时绑定到端口 80。