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 2020-07-20 08:28:17 +08:00 via Android
可能因为 le 的 oscp 服务器被污染了?
|
3
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 且不检查证书 |
4
ervqq 2020-07-20 08:48:52 +08:00
你自己检查下 80 端口有没有被占用,另外就是防火墙策略有没有开放 80 端口。我也试过,后来我手动更新了。等 3 个月后再验证下
|
5
mcone 2020-07-20 09:26:18 +08:00
查一下 crontab ? acme 的自动续订其实是通过 crontab 实现的。然后你再 follow 下里面的命令手动执行,外加看下 log,可能你的问题就能解决了
|
6
serical 2020-07-20 09:35:38 +08:00 via iPhone
就是重定向的问题,我也遇到过这个问题
|
7
GM 2020-07-20 10:12:36 +08:00
直接用 DNS 方式吧,一旦弄好就很稳定,没这些幺蛾子。
|
8
sunny2580839896 2020-07-20 11:35:34 +08:00
@GM #7 为啥我的 dns 老是不成功
|
9
kidlj 2020-07-20 11:56:23 +08:00
|
10
GM 2020-07-20 12:51:05 +08:00
@sunny2580839896
具体情况具体分析吧,没错误信息没法帮你,加上 --debug 2 看看错误日志 |
11
Canthony 2020-07-20 18:47:09 +08:00
请问这个默认是提前一个月自动续期吗?
|
12
CheekiBreeki 2020-07-21 09:01:03 +08:00 via Android
crontab,我用的 certbot,crontab 一句話 certbot renew 就解決了
|