我指的是此链接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:
所以任何人都可以帮助我,如果我错过了什么或做错了什么,请告诉我。
答案 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才能工作。
根据可用信息,这是我可以开始寻找解决问题的最佳建议。