wzw
V2EX  ›  问与答

acme.sh 自动更新证书问题 (由于时间差,每次都是差几个小时)

By wzw at 2020 年 2 月 12 日 · 3244 次点击

搜索了,没有找到答案, 看了文档没看到有这个说明. 来问问大家,

问题:

例如 *.aaa.cn 证书在浏览器中显示过期, 但是 acme.sh --corn 显示还需要几个小时才过期, 所以没有自动更新续签.

详细信息

  • 检查更新的时候:
[Wed Feb 12 23:09:48 CST 2020] Renew: '*.aaa.cn'
[Wed Feb 12 23:09:48 CST 2020] Skip, Next renewal time is: Thu Mar 12 16:16:39 UTC 2020
[Wed Feb 12 23:09:48 CST 2020] Add '--force' to force to renew.
  • UTC 时间:
3:29 PM
Wednesday, February 12, 2020
Coordinated Universal Time (UTC)
  • 服务器时间:
# [~/.acme.sh] → date
Wed Feb 12 23:29:38 CST 2020

如何处理这样的问题? 每次要手动强制更新, 比较麻烦.

谢谢你的回复

9 条回复  •  2020-02-13 13:17:00 +08:00
SingeeKing
   1
SingeeKing  
   2020 年 2 月 12 日
我印象中 acme.sh 都是提前一个月更新……
wzw
   2
wzw  
OP
   2020 年 2 月 12 日
@SingeeKing #1 没有呀,,,,
noqwerty
   4
noqwerty  
   2020 年 2 月 12 日
--dry-run 一下看看呢?正常是提前很多天就更新了的
wzw
   5
wzw  
OP
   2020 年 2 月 13 日
@SingeeKing #3 看到了, 那就奇怪了


@noqwerty #4 没有这个参数了吧 "--dry-run "
noqwerty
   6
noqwerty  
   2020 年 2 月 13 日
@wzw #5 不好意思,确实没有,之前用 certbot 用多了。。

所以加--force 手动更新是没问题的?会不会是执行的用户没有权限?
ETiV
   7
ETiV  
   2020 年 2 月 13 日 via iPhone
0. 是 cron,不是 corn

1. 默认 acme.sh 是每天执行,所以不要在每天执行那里加 force
2. 如果你应急手动更新,加 force 是没问题的
3. 根据我以往的经验,此时你的$HOME/.amce.sh 下可能已经有新的签发好的证书了,只是由于某些原因(比如权限不对)没有正确的安装到 http 服务下面、或者安装了,但没有执行 nginx reload 这样的操作,你先找一找有没有新的证书文件
wzw
   8
wzw  
OP
   2020 年 2 月 13 日
@noqwerty #6 直接 root 用户, 我用 --force 是没有问题


@ETiV #7 1. 定时程序我没有修改, 是默认的 15 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

3. 我直接用 软连接, nginx 每晚定时 reload, 从信息来看就是没有执行更新程序
ETiV
   9
ETiV  
   2020 年 2 月 13 日
要么就给 cronjob 里加 debug,然后把日志输出到文件,下次执行就可以看一下是哪里出的问题
© 2026 V2EX · 35ms · 3.9.8.5