我使用独立方法为几个域创build了几个SSL证书。 我只对证书感兴趣,没有服务器集成。
他们现在是为了更新。 所以,我跑了:
certbot -d example.com --manual --preferred-challenges dns certonly
并遵循每个域的说明(为每个域添加所需的DNS条目)。 这样,我不必停止服务器,并获得我的新证书。
我对这一点的理解是,目前没有办法使用DNS挑战来自动更新证书。 或者,也许你不能自动更新证书的“手动”方法?
无论如何,我写了这个脚本:
#!/bin/bash for i in renewal/*;do n=${i:8:-5}; echo $n; # echo "\n" | certbot --text --agree-tos -d $n --manual --preferred-challenges dns --expand --renew-by-default --manual-public-ip-logging-ok certonly; done
在这一点上, renewal目录中的所有域都有:
authenticator =手动
和:
pref_challs = dns-01
问题:
现在…当我运行“certbot更新”,它会自动更新所有这些,而不使用我的脚本?
如何实际上使用DNS挑战创build新的证书?
TL; DR:是的,应该的。
让我们看看certbot的文档 :
从版本0.10.0开始,Certbot支持更新操作,以检查所有已安装的证书是否即将到期,并尝试更新它们。 最简单的forms是简单的
certbot续约
到现在为止还挺好。
此命令尝试续订先前获得的证书,证书在30天内过期。
这应该回答你的问题。 注意:我不知道certbot能够处理将证书移动到不同目录的情况。
后来在同一段中:
除非您指定其他插件或选项,否则与原始颁发证书时使用的相同的插件和选项将用于续订尝试。 不像
certonly,renew行为在多个证书上,并且总是考虑每个证书是否即将到期。
所以,是的。 certbot应该在没有你的脚本的帮助下更新所有的证书。
您在post开始处发布的命令有什么问题? certbot -d example.com --manual --preferred-challenges dns certonly将使用dns挑战获取example.com的证书。
创build证书的步骤是:
certbot命令 certbot命令 如果你想自动完成这个完整的过程,你可能需要看看lego这样的工具,它支持几个DNS提供者 。