解决宝塔面板 Let's Encrypt 证书自动续签问题

2022-10-04 15:49:54 浏览数 (1)

Let's Encrypt提供有效期3个月的免费的SSL证书,但支持免费续签

acme.sh是一个证书申请和续签的脚本 </div> 宝塔也是利用acme.sh脚本通过计划任务进行自动续签的 当前环境: 系统:CentOS7 宝塔:5.9.1

在你常用的终端中,输入 crontab -l 发现计划任务为/root/.acme.sh 而实际却在/.acme.sh(原因未知,续签一起开始是好的,当时也没观察过)

方案一:

输入 crontab -e 并找到 acme.sh 相关计划任务命令,将其中的 --home &quot;/root/.acme.sh&quot; 修改为 --home &quot;/.acme.sh&quot; 然后保存修改即可。 不过这种有个缺点,你不能通过 acme.sh --renew 命令手动续签,也不能通过 acme.sh --list 获取证书到期时间。 所以这里推荐使用

方案二:

将 /.acme.sh 修改为符号链接。

代码语言:javascript复制
cp -R -f /.acme.sh/* /root/.acme.sh/
rm -rf /.acme.sh
ln -s /root/.acme.sh /.acme.sh

第一条命令是将现有的文件保存到 acme.sh 的工作目录 第二条命令是删除这个文件夹以及里面所有内容,因为前面我们以及使用 cp 进行复制,所以可以放心删除,不放心可以修改为 mv 进行重命名. 第三条最后一条是建立符号链接。

手动执行计划

代码语言:javascript复制
&quot;/root/.acme.sh&quot;/acme.sh --cron --home &quot;/root/.acme.sh&quot;

0 人点赞