我有 certbot,包括在与客户的多个安装中使用的自动续订。
现在我一直在这里阅读:
这里
这里
https://github.com/certbot/certbot/issues/5405
还有这里:
每个人的说法似乎都略有不同
并且没有给出明确的解释。
我一直在阅读 certbot 安装的标准描述
续订文档点这里:
https://certbot.eff.org/docs/using.html#renewal
但是:仍然列出了旧的易受攻击的tls-sni-01
方法
我试着总结一下:
在缓解现有服务器上现有问题的指南中:
他们建议在更新时停止并启动服务器。 但是……这样不好。如果某些配置中断,服务器在我睡着时停止启动怎么办?服务器将不可用。或者更糟的事情。我不是 devops 专家,但让服务器或多或少随机启动和停止,似乎不是一个好的解决方案。我错了吗?
作为替代方案,我仅看到不使用tls-sni-01
的webroot 插件。 https://certbot.eff.org/docs/using.html#webroot
这对我来说似乎是唯一的方法,这似乎是可靠的。
我错过了什么吗?我们基本上被告知要使用 webroot 插件吗?
因为所有其他人都使用 tls-sni-01,不是自动的(你可以手动完成,但呃,我实际上不想这样做)或者要求你没有运行的服务器(独立)。
那是为了 future 的服务器。我猜现有的域续订将继续与旧的 tls-sni-01
一起使用,他们似乎是这么说的。
最佳答案
因为我没有得到答案,所以我将不得不假设它就是这样,例如尽可能使用 webroot 插件。
我实际发现的是:
命令 certbot renew
进入文件夹 /etc/letsencrypt/renewal
并检查那里的配置文件。这些配置文件是在您上次从命令行触发认证过程时创建的。所以如果你最后做的是使用独立的,你会在那里找到独立的配置(你想从那里迁移)
好的,现在你第一次运行 webroot 插件:
certbot certonly --webroot -w/var/www/html/www.mypage.com/public -d www.mypage.com -d mypage.com
see here
这最终可以在 /etc/letsencrypt/renewal
中创建一个新条目或覆盖旧的现有条目。一定要删除独立的,以防它没有覆盖而是创建一个新文件,你只想在那里有 webroot
现在运行crontab -e
最终必须是root用户
添加
53 14 * * * certbot renew --post-hook "service nginx reload"
这将在每天 14:53 运行并重新加载配置并尝试更新证书
关于ssl - Certbot 自动续订漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48996982/