acme.sh 自动续订证书的疑问

2020-07-20 08:22:39 +08:00
 LUREN

acme.sh --issue -d example.com -w /var/www/html/example.com

之前用 acme.sh 申请了 Let’s Encrypt 免费证书(申请命令如上),弄好后就没管它了。

今天发现不能访问,查看证书过期了,acme.sh 不是会自动续期吗?

会不会是我将 HTTP 重定向到 HTTPS 的原因,acme.sh 尝试自动续期,但 Let’s Encrypt 访问验证出现问题(证书失效无法访问),可能会是这个问题吗?

也就是说 acme.sh 是否支持通过 HTTPS 访问验证申请证书?如果不行,是否需要在 nginx 配置文件里设置一个类似 location ~ /.well-known { ... } 规则,将这个访问不重定向到 HTTPS 。

------- 分割线 ---------

acme.sh --issue --standalone -d example.com

在另一台机器上的发现,好像使用 standalone 模式申请的证书也有自动续期问题(申请证书使用命令如上),到期后不会自动使用 socat 开启 80 端口访问验证(没有安装其它 web 服务器软件)。

3715 次点击
所在节点    问与答
12 条回复
miyuki
2020-07-20 08:28:17 +08:00
可能因为 le 的 oscp 服务器被污染了?
miyuki
2020-07-20 08:28:33 +08:00
@miyuki 如果是国内机器的话
jim9606
2020-07-20 08:37:55 +08:00
你要自己检查 acme.sh 的运行日志,有可能是 renew 任务没有如期运行或者配置不适应 LE 的签发政策之类的,失败原因有很多可能性。

LE 的验证政策见这个 https://letsencrypt.org/zh-cn/docs/challenge-types/

HTTP-01 必须监听 http 80,接受 403 跳转,但只能是 http/https,端口只能是 80/443,不允许裸 IP 且不检查证书
ervqq
2020-07-20 08:48:52 +08:00
你自己检查下 80 端口有没有被占用,另外就是防火墙策略有没有开放 80 端口。我也试过,后来我手动更新了。等 3 个月后再验证下
mcone
2020-07-20 09:26:18 +08:00
查一下 crontab ? acme 的自动续订其实是通过 crontab 实现的。然后你再 follow 下里面的命令手动执行,外加看下 log,可能你的问题就能解决了
serical
2020-07-20 09:35:38 +08:00
就是重定向的问题,我也遇到过这个问题
GM
2020-07-20 10:12:36 +08:00
直接用 DNS 方式吧,一旦弄好就很稳定,没这些幺蛾子。
sunny2580839896
2020-07-20 11:35:34 +08:00
@GM #7 为啥我的 dns 老是不成功
kidlj
2020-07-20 11:56:23 +08:00
GM
2020-07-20 12:51:05 +08:00
@sunny2580839896
具体情况具体分析吧,没错误信息没法帮你,加上 --debug 2 看看错误日志
Canthony
2020-07-20 18:47:09 +08:00
请问这个默认是提前一个月自动续期吗?
CheekiBreeki
2020-07-21 09:01:03 +08:00
crontab,我用的 certbot,crontab 一句話 certbot renew 就解決了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/691434

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX