记录一次解决 LNMP 添加 Let’s Encrypt 证书失败的问题

这几天在用 DMIT VPS 新增网站的时候(DMIT 香港补货:$14.9/月,1G 内存,1.2TB 月流量,200Mbps 大带宽,年付额外九折且流量 1.3 倍),发现使用 LNMP 新增网站的时候添加 Let’s Encrypt 的免费 SSL 证书总是不成功(搬瓦工建站教程 LNMP 篇:安装使用 LNMP 一键安装包 V1.6 正式版),一开始还以为是网络问题,尝试了好几次,还是不行,网上搜了下,发现有类似问题,于是先停止了 NGINX,然后再试,还是不行。最后要放弃的时候,想要启动 NGINX,结果报错了,这才找到了问题所在,本文仅此记录,如果有类似问题的可以参考。

一、问题描述

每次添加网站的时候,到了创建 SSL 那一步,就会报错,如下:

/usr/local/acme.sh/acme.sh [found]
Starting create SSL Certificate use Let's Encrypt...
[Mon Oct 21 03:06:43 CST 2019] Multi domain=''
[Mon Oct 21 03:06:43 CST 2019] Getting domain auth token for each domain
[Mon Oct 21 03:06:43 CST 2019] Getting webroot for domain=''
[Mon Oct 21 03:06:43 CST 2019] Getting new-authz for domain=''
[Mon Oct 21 03:06:46 CST 2019] The new-authz request is ok.
[Mon Oct 21 03:06:46 CST 2019] Getting webroot for domain=''
[Mon Oct 21 03:06:46 CST 2019] Getting new-authz for domain=''
[Mon Oct 21 03:06:47 CST 2019] The new-authz request is ok.
[Mon Oct 21 03:06:47 CST 2019] Verifying:
[Mon Oct 21 03:06:51 CST 2019] :Verify error:Invalid response from http://domain.com/.well-known/acme-challenge/OZAKqY6oC [IP]:
[Mon Oct 21 03:06:51 CST 2019] Please check log file for more details: /usr/local/acme.sh/acme.sh.log
Let's Encrypt SSL Certificate create failed!

红色的报错信息还是非常明显的。

按照网上的一些方法解决未果,于是尝试重新启动 NGINX,发现又报错了:

Starting nginx... nginx: [emerg] BIO_new_file("/home/ssl/domain.com.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/home/ssl/domain.com.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
failed

这下就知道问题出在哪了。原来是之前添加过一个网站,选了使用自己的 SSL 证书,结果后来忘了把网站迁移过去,自己的 SSL 证书也就一直没有传过去,所以就报错了。

二、解决问题

知道问题所在之后,解决起来就很快了。

我是直接把那个网站用 lnmp vhost del 给删除了(当然也可以把需要的 SSL 证书文件放到指定位置)。删除之后,再次尝试添加新网站并使用 Let’s encrypt 证书,完全没有问题,一切顺利。

三、建站 VPS 推荐

双十一活动:

便宜 VPS 商家:

以及优质的域名注册商:

更多域名注册商推荐,可以参考 搬砖部落 出品的《2019 年最好的便宜域名注册商推荐》。


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!