更新 Letsencrypt 证书

更新 Letsencrypt 证书

我正在尝试通过下一个命令更新我的 letsencrypt 证书:

./letsencrype-auto renew 

但我收到此错误消息:

configuration file /etc/letsencrypt/renewal/domain.conf produced an unexpected error: Namespace object has no attribute 'standalone_supported_challenges'. 

我尝试使用创建证书的命令:

./letsencrypt-auto certonly --standalone-supported-challenges tls-sni-01 -d domain

我收到此错误:

unrecognized arguments:  --standalone-supported-challenges tls-sni-01

如果我尝试这样做:

./letsencrypt-auto certonly --standalone -d domain

它说:

The requested standalone plugin does not appear to be installed.

我现在不知道如何更新我的证书。

答案1

./letsencrype-auto renew这应该已经起作用了,应该更新全部证书。

尝试此方法来续订单个域名。

./letsencrypt-auto --apache -d example.com

答案2

根据他们的文档,自动更新功能是在 0.4.0 版本中引入的,并且不使用上面的语法。请参考:

https://letsencrypt.org/getting-started/

从 0.4.0 版本开始,letsencrypt python 客户端支持高级 renew 子命令,该命令尝试使用您最初获取证书时使用的相同设置来更新所有证书。您可以通过运行以下命令进行测试:

letsencrypt renew --dry-run

这将获得测试证书,并且不会在您的系统上留下任何持久更改。如果您喜欢结果,您可以运行:

letsencrypt 更新

如果您想要续订特定证书(而不是所有证书)或调整用于续订的确切参数,则可以使用 letsencrypt certonly 命令执行单个证书的续订,并对设置进行更具体的控制。使用 letsencrypt certonly 时,您可以一次续订单个证书。为要续订的域所涵盖的每个域指定 -d 标志。

答案3

据我记得,该应用程序letsencrypt已经过时了,因为它certbot在 2016 年就被重新命名了。

https://www.eff.org/deeplinks/2016/05/announcing-certbot-new-tls-robot

您应该使用certbot

https://certbot.eff.org/

当我们这样做的时候:

letsencrypt 客户端无法更新证书的原因之一也可能是由于 ACMEv1 协议将于 2020 年 1 月 1 日到期,因此人们必须切换到支持 ACMEv2 协议的客户端:

https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430

Certbot 确实支持 ACMEv2 协议。

答案4

Let's Encrypt 不再允许使用 TLS-SNI-01 来证明您拥有该域名。

你应该做什么(根据这个问题):https://github.com/certbot/certbot/issues/6984)是从您的配置文件中删除以下行:

standalone_supported_challenges = "tls-sni-01,http-01"  # this guy

删除上述行后,您可以开始使用其他身份验证方法,例如 TLS-ALPN-01 验证方法。您可以在此处找到完整的验证方法列表:https://letsencrypt.org/docs/challenge-types/

相关内容