无法选择合适的插件:nginx插件不起作用;

时间:2018-04-30 13:10:05

标签: nginx certbot

处理/etc/letsencrypt/renewal/api.shunhinggaoke.com.conf

证书不能续期,但可以模拟续航 无法选择合适的插件:nginx插件不起作用;您现有的配置可能存在问题。 错误是:NoInstallationError() 尝试从/etc/letsencrypt/renewal/api.shunhinggaoke.com.conf续订证书(api.shunhinggaoke.com)会产生意外错误:nginx插件无效;您现有的配置可能存在问题。 错误是:NoInstallationError()。跳绳。 所有续订尝试都失败了。以下证书无法续订:   /etc/letsencrypt/live/api.shunhinggaoke.com/fullchain.pem(失败)

** DRY RUN:模拟'certbot renew'接近证书到期 **(以下测试证书尚未保存。)

所有续订尝试均失败。以下证书无法续订:   /etc/letsencrypt/live/api.shunhinggaoke.com/fullchain.pem(失败) ** DRY RUN:模拟'certbot renew'接近证书到期

**(上述测试证书尚未保存。)

1次更新失败,0次解析失败

1 个答案:

答案 0 :(得分:1)

我只是遇到了您的问题,不知道您是否还有问题。您需要发布更多详细信息。您甚至都没有指出问题所在的平台。我假设它在Linux机器上。如果是这样,您是从命令行还是cron脚本运行certbot renew --dry-run命令?

以上问题表明环境问题,很可能是PATH问题,我认为您仅在通过cron运行脚本时才得到此问题。我还假设您使用crontab -esudo crontab -e命令将其添加到crontab中。

通常建议的解决方案是在crontab文件本身中设置PATH,然后重试。这意味着,请勿执行(sudo) crontab -e,但请确保/ etc / crontab文件中的系统crontab已设置,或者确保已在certbot的crontab文件中对其进行设置。

对我来说,在Ubuntu 16.04上是/etc/crond.d/certbot,它看起来像这样:

#lots of commented lines preceding ...
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e'sleep int(rand(43200))' && certbot -q renew

每天运行两次。您可以通过添加如下另一行来对其进行测试:

 * * * * * root /usr/bin/certbot renew --quiet --dry-run

,然后查看您的certbot日志。它可能在/var/log/letsencrypt/letsencrypt.log中,并处于受保护状态。

sudo tail -f  /var/log/letsencrypt/letsencrypt.log

看看你得到什么。如果运行正常,则应在运行结束时获得no renewal failures。该脚本每分钟运行一次,因此在获取日志后将其关闭。