外面太阳依然很大,也许我的错对人类会有所贡献。
如果letsencrypt 生成证书或者更新证书时报如下错误:
Failed authorization procedure. xxx.com (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://xxx.com/.well-known/acme-challenge/kuYBqGw8U5t5dI89haTWb-MAagDfkyVE1s-ffWtBBV4: Connection refused
不用质疑:说明没找到文件 http://xxx.com/.well-known/acme-challenge/kuYBqGw8U5t5dI89haTWb-MAagDfkyVE1s-ffWtBBV4
验证。
解决思路:
1:当初生成证书时候指定的网站根目录是否与当前网站跟目录一致(我后来在nginx 里改 了网站根目录所以导致现在的错误)
2:是否没有权限创建文件(letsencrypt 要在你网站下创建 .well-known/acme-challenge 文件进行验证当前是域名解析到的服务器是否是你自己的)
生成证书命令:
sudo letsencrypt certonly --webroot -w /web/xxx.com -d xxx.com
-w是指定网站的根目录(我的错误在这nginx配置的根目录是在/web/xxx.com/public下的所以应该上面命令是:
sudo letsencrypt certonly --webroot -w /web/xxx.com/public -d xxx.com )
-d
是指定目录对应的域名
更新证书命令:
sudo letsencrypt renew
Ubuntu 16.04 上获取Let’s Encrypt免费证书参考如下
https://blog.csdn.net/kangear/article/details/80546945