Letsencrypt + Docker + Nginx

时间:2017-05-17 09:15:34

标签: ssl nginx docker

我指的是此链接https://miki725.github.io/docker/crypto/2017/01/29/docker+nginx+letsencrypt.html 在我的应用程序上启用SSL,该应用程序与docker一起运行。所以问题在于我运行以下命令

  docker run -it --rm \
  -v certs:/etc/letsencrypt \
  -v certs-data:/data/letsencrypt \
  deliverous/certbot \
  certonly \
  --webroot --webroot-path=/data/letsencrypt \
  -d api.mydomain.com

它会抛出错误:

Failed authorization procedure. api.mydomain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://api.mydomain.com/.well-known/acme-challenge/OCy4HSmhDwb2dtBEjZ9vP3HgjVXDPeghSAdqMFOFqMw:

所以任何人都可以帮助我,如果我错过了什么或做错了什么,请告诉我。

1 个答案:

答案 0 :(得分:0)

该文章以及您的设置中似乎缺少的是主机名api.mydomain.com需要有一个公共DNS记录,指向运行Nginx容器的计算机的IP地址。

Let's Encrypt进程正在尝试访问文件api.mydomain.com/.well-known/acme-challenge/OCy4HSmhDwb2dtBEjZ9vP3HgjVXDPeghSAdqMFOFqMw。该文件由certbot放在那里。如果地址api.mydomain.com未解析为运行certbot的计算机的地址,则该过程将失败。

您还需要打开端口80和443才能工作。

根据可用信息,这是我可以开始寻找解决问题的最佳建议。