# ACME.sh 续签不成功下的 Debug 记录  - Link: https://www.ixiqin.com/2023/08/15/debug-under-unsuccessful-renewal-of-acme-sh/
- Published: 2023-08-15T08:24:57+08:00
- Author: 白宦成  我的域名证书目前基本上 100% 使用 acme.sh，免费大碗，唯一的问题是需要续签。对于一些
涉及到 CDN 场景的可能不太友好。不过我的 CDN 往往也不太使用主域名，所以也可以接受。  最近在给一个域名续签的时候，出现了报错的问题  续签代码：  ```javascript
 "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh"
 Code language: JavaScript (javascript)
 ```  报错如下：  ```javascript
 [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.
 Code language: JavaScript (javascript)
 ```  在出现问题之后，可以通过在命令中添加 `--debug` 的方式，来实现查看响应的日志，debug
的命令如下：  ```javascript
 "/root/.acme.sh"/acme.sh --cron --debug --home "/root/.acme.sh"
 Code language: JavaScript (javascript)
 ```  则在新的输出中，说明了我具体卡在哪里了  ```shcb-line-numbers
 [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'
 Code language: HTML, XML (xml)
 ```  acme.sh 的报错非常清晰，我的报错是因为我的文件目录中` /.well-known/` 中的验证文件
找不到了，所以报错。那我只需要去检查我的 Nginx 配置即可。这里因为我的 Nginx 配置
根目录不在默认指明的目录（因为用了 Docker ，nginx 只是一个代理），所以我需要将其
修改为真正的 webroot。  修改` ~/.acme.sh/replace.com/replace.com.conf `中的 `Le_Webroot` 配置为真实的 webroot，
再重新签名，就域名成功签名了。