我正在尝试使用--manual插件生成Letsencrypt证书。我使用“手动”,因为在我的服务器中我有python2.6,我几乎需要python2.7所以我从我的笔记本电脑生成证书然后导出证书。在我的情况下,我只能使用http 8280端口或https 443端口。所以我使用的命令是:
./letsencrypt-auto certonly --manual --http-01-port 8280
然后它要求在我的网站上创建一个秘密文件并给我一个命令来执行它。在此之后,我有这些错误:
Failed authorization procedure. mydomain.es (http-01):
urn:acme:error:connection :: The server could not connect to the client to verify the domain ::
Could not connect to http://mydomain.es/.well-known/acme-challenge/_6UES5rHkQ78etjN3HmT4n2l5J66vDs1nCX2APzuzIE
我可以通过网络导航器访问我的秘密文件,所以我确信与服务器的共存是可行的。在http://mydomain:8280/.well-known/acme-challenge/
中,我可以看到生成的秘密文件。所以我不知道为什么服务器无法连接到客户端。
答案 0 :(得分:1)
LetsEncrypt服务器尚不支持switch http port on production。如上所述here它永远不会支持任意端口(如你正在尝试的8280)。 They say它可能在将来支持另一个特权端口(低于1024)。
仔细检查您可以阅读的错误消息:
Could not connect to http://mydomain.es/[...]
如图所示,Letsencrypt正在尝试通过端口 http 80 访问您的服务器(URL中未指定端口表示默认端口80)。
修改强>
您可以使用独立模式运行tls-sni-01身份验证,因为您有443端口可用。