Letsencrypt + Docker + Nginx

我指的是这个链接https://miki725.github.io/docker/crypto/2017/01/29/docker+nginx+letsencrypt.html启用我的应用程序,与docker运行的SSL。 所以这里的问题是当我运行下面的命令

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: 

所以,任何人都可以帮助我,让我知道如果我错过了什么或做错了什么。

这篇文章或者你的设置中似乎缺less的东西是,主机名api.mydomain.com需要有一个公共DNSlogging指向运行Nginx容器的机器的IP地址。

Let's Encrypt进程试图访问文件api.mydomain.com/.well-known/acme-challenge/OCy4HSmhDwb2dtBEjZ9vP3HgjVXDPeghSAdqMFOFqMw 。 这个文件被certbot放在那里。 如果地址api.mydomain.com没有parsing到您运行certbot的计算机的地址,则该过程将失败。

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

基于可用的信息,这是我最好的build议,在哪里可以开始寻找解决问题。