Letsencrypt与nginx自动构build服务器

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

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

  1. letsencrypt需要一个正在运行的HTTP Web服务器进行validation
  2. 启用了HTTPS的nginx需要启动证书。

该脚本无法首先启动nginx,因为证书将会丢失。 但是脚本也不能首先获取证书,因为这需要运行一个Web服务器。 经典鸡与鸡蛋的问题。

一个解决办法是

  1. 首先创build一个只有HTTPconfiguration的nginx,
  2. 运行certbot获取证书,
  3. 修改nginxconfiguration并以HTTPS模式重新启动Web服务器。

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