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议,在哪里可以开始寻找解决问题。