Letsencrypt 与 nginx 自动服务器搭建

Letsencrypt 与 nginx 自动服务器搭建

我有一个带有多个 Docker 容器的 Web 服务器,其中一个是nginx。为了便于重新部署,该服务器由脚本构建。

现在我想使用 letsencrypt 证书。但是:

  1. letsencrypt 需要一个正在运行的 HTTP 网络服务器进行验证,并且
  2. 启用HTTPS的nginx需要证书才能启动。

该脚本无法先启动 nginx,因为证书会丢失。但该脚本也无法先获取证书,因为这需要运行 Web 服务器。典型的先有鸡还是先有蛋的问题。

一个解决方案是

  1. 首先创建一个仅支持 HTTP 的 nginx,
  2. 运行 certbot 来获取证书,
  3. 修改 nginx 配置并以 HTTPS 模式重新启动 Web 服务器。

这似乎不是一个优雅的解决方案,所以我想知道是否有人想出了更好的解决方案。

相关内容