IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ACME.sh 续签不成功下的 Debug 记录

    白宦成发表于 2023-08-15 00:24:57
    love 0

    我的域名证书目前基本上 100% 使用 acme.sh,免费大碗,唯一的问题是需要续签。对于一些涉及到 CDN 场景的可能不太友好。不过我的 CDN 往往也不太使用主域名,所以也可以接受。

    最近在给一个域名续签的时候,出现了报错的问题

    续签代码:

     "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh"

    报错如下:

    [Sun Aug 13 06:02:43 PM CST 2023] Renew: 'replace.com'
    [Sun Aug 13 06:02:43 PM CST 2023] Renew to Le_API=https://acme.zerossl.com/v2/DV90
    [Sun Aug 13 06:02:43 PM CST 2023] Using CA: https://acme.zerossl.com/v2/DV90
    [Sun Aug 13 06:02:44 PM CST 2023] Multi domain='DNS:replace.com,DNS:feishu.io'
    [Sun Aug 13 06:02:44 PM CST 2023] Getting domain auth token for each domain
    [Sun Aug 13 06:02:48 PM CST 2023] Getting webroot for domain='replace.com'
    [Sun Aug 13 06:02:48 PM CST 2023] Getting webroot for domain='feishu.io'
    [Sun Aug 13 06:02:48 PM CST 2023] Verifying: replace.com
    [Sun Aug 13 06:02:49 PM CST 2023] Processing, The CA is processing your order, please just wait. (1/30)
    [Sun Aug 13 06:02:53 PM CST 2023] replace.com:Verify error:"error":{
    [Sun Aug 13 06:02:53 PM CST 2023] Please add '--debug' or '--log' to check more details.
    [Sun Aug 13 06:02:53 PM CST 2023] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh
    [Sun Aug 13 06:02:55 PM CST 2023] Error renew replace.com.

    在出现问题之后,可以通过在命令中添加 --debug 的方式,来实现查看响应的日志,debug 的命令如下:

     "/root/.acme.sh"/acme.sh --cron --debug --home "/root/.acme.sh"

    则在新的输出中,说明了我具体卡在哪里了

    [Sun Aug 13 06:04:49 PM CST 2023] replace.com:Verify error:"error":{
    [Sun Aug 13 06:04:49 PM CST 2023] Debug: get token url.
    [Sun Aug 13 06:04:49 PM CST 2023] GET
    [Sun Aug 13 06:04:49 PM CST 2023] url='http://replace.com/.well-known/acme-challenge/rm-enWjHphDeyjXtfXu2mi1V-D6cZY8EHAe_Gi7TmC4'
    [Sun Aug 13 06:04:49 PM CST 2023] timeout=1
    [Sun Aug 13 06:04:49 PM CST 2023] _CURL='curl --silent --dump-header /root/.acme.sh/http.header  -L  --connect-timeout 1'
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>
    [Sun Aug 13 06:04:49 PM CST 2023] ret='0'

    acme.sh 的报错非常清晰,我的报错是因为我的文件目录中 /.well-known/ 中的验证文件找不到了,所以报错。那我只需要去检查我的 Nginx 配置即可。这里因为我的 Nginx 配置根目录不在默认指明的目录(因为用了 Docker ,nginx 只是一个代理),所以我需要将其修改为真正的 webroot。

    修改 ~/.acme.sh/replace.com/replace.com.conf 中的 Le_Webroot 配置为真实的 webroot,再重新签名,就域名成功签名了。



沪ICP备19023445号-2号
友情链接