
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 服务器软件)。
1 miyuki Jul 20, 2020 via Android 可能因为 le 的 oscp 服务器被污染了? |
3 jim9606 Jul 20, 2020 你要自己检查 acme.sh 的运行日志,有可能是 renew 任务没有如期运行或者配置不适应 LE 的签发政策之类的,失败原因有很多可能性。 LE 的验证政策见这个 https://letsencrypt.org/zh-cn/docs/challenge-types/ HTTP-01 必须监听 http 80,接受 403 跳转,但只能是 http/https,端口只能是 80/443,不允许裸 IP 且不检查证书 |
4 ervqq Jul 20, 2020 你自己检查下 80 端口有没有被占用,另外就是防火墙策略有没有开放 80 端口。我也试过,后来我手动更新了。等 3 个月后再验证下 |
5 mcone Jul 20, 2020 查一下 crontab ? acme 的自动续订其实是通过 crontab 实现的。然后你再 follow 下里面的命令手动执行,外加看下 log,可能你的问题就能解决了 |
6 serical Jul 20, 2020 via iPhone 就是重定向的问题,我也遇到过这个问题 |
7 GM Jul 20, 2020 直接用 DNS 方式吧,一旦弄好就很稳定,没这些幺蛾子。 |
9 kidlj Jul 20, 2020 |
10 GM Jul 20, 2020 @sunny2580839896 具体情况具体分析吧,没错误信息没法帮你,加上 --debug 2 看看错误日志 |
11 Canthony Jul 20, 2020 请问这个默认是提前一个月自动续期吗? |
12 CheekiBreeki Jul 21, 2020 via Android crontab,我用的 certbot,crontab 一句 certbot renew 就解了 |