Letsencrypt + nginx + autorenewal + 基础架构即代码?

Letsencrypt + nginx + autorenewal + Infrastructure as code?

我们的基础架构由 Ansible 管理(包括 nginx 站点配置 - 它们是使用模板生成的)。

现在我们每 3 个月通过 certbot 命令自动生成 letsencrypt 证书,但是我们有大约 1 分钟的停机时间(我们必须停止 nginx,将 certbot 绑定到 80)。

如何实现Letsencrypt + nginx 集成自动续费?那么通配符呢?

我找到了一些解决方案,例如 How to setup Let's Encrypt for Nginx on Ubuntu 18.04 (including IPv6, HTTP/2 and A+ SLL rating),但它们使用 python-certbot-nginx 来修改站点配置(它们将在下一个 Ansible 运行 上被 Ansible 取代,因此 HTTPS 将被破坏).

最好的选择是使用 DNS certbot 插件。

  1. 不需要绑定端口
  2. 在创建第一个 letsencript 证书之前,您不需要为首次启动的 nginx 生成自签名证书。
  3. 通配符。