mirror of
https://github.com/certimate-go/certimate.git
synced 2026-04-25 20:55:52 +03:00
[GH-ISSUE #575] [Bug] Cloudflare DNS无法申请证书 #379
Labels
No labels
announcement
backlog
bug
declined
documentation
duplicate
enhancement
good first issue
good first issue
help wanted
invalid
pull-request
question
stale
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/certimate#379
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @devnakx on GitHub (Mar 31, 2025).
Original GitHub issue: https://github.com/certimate-go/certimate/issues/575
软件版本 / Release Version
v0.3.6
缺陷描述 / Description
一直提示

acme: error presenting token: cloudflare: failed to find zone win.: zone could not be foundAPI令牌权限:

尝试打开了

关闭 CNAME 跟随开关也无用:复现步骤 / Steps to reproduce
Cloudflare日志 / Logs
其他 / Miscellaneous
No response
@fudiwei commented on GitHub (Mar 31, 2025):
试试 DNS 递归服务器加个
8.8.8.8@devnakx commented on GitHub (Mar 31, 2025):
尝试了,也没用,还是同样的错误日志
@devnakx commented on GitHub (Mar 31, 2025):
应该和
DNS递归服务器无关,感觉是 Certimate 对 Cloudflare DNS 提供商的处理代码有问题,因为报错提示failed to find zone win.实际上应该找devnak.win的 zone 而非顶级域win.@hzgotb commented on GitHub (Mar 31, 2025):
我也是cf,token的权限是账号级的DNS编辑。但是是出现这样的问题。用docker部署的。
@devnakx commented on GitHub (Mar 31, 2025):
@hzgotb 你这个报错和我的不一样,建议新开一个 Issue 方便开发者跟进
不建议不同的问题在一个 Issue 里反馈
@fudiwei commented on GitHub (Mar 31, 2025):
根据上游依赖 go-acme/lego 的要求,目前你需要分配权限为所有域而非指定域。
后续会支持更细粒度的权限。
@devnakx commented on GitHub (Mar 31, 2025):
我一直设置的就是

All zones,只是一开始就这样报错,所以后来我尝试添加Zone.Zone.Read权限并改为指定域了改回

All zones刚重新执行了一下也是相同结果:@fudiwei commented on GitHub (Mar 31, 2025):
这部分逻辑由上游依赖 go-acme/lego 实现,Certimate 只是调用它。日志里出现顶级域而非你的二级域名的原因在于 DNS 解析错误,lego 在试图查询 SOA 记录时得到了错误的结果,而指定一个靠谱的递归服务器是规避此问题的一个常见措施。
设置
8.8.8.8后有重启过 Certimate 吗?如果没有可以试试重启(目的是清除 DNS 缓存)。@devnakx commented on GitHub (Mar 31, 2025):
有关于这方面的详细指南吗?比如查询了哪些 SOA 记录?因为我是在 OpenWrt 网关上运行smartdns程序自建的本地 dns 服务器,并在nftables中添加了重定向规则将下级设备的 dns 请求全都劫持到smartdns处理,而我在smartdns中配置的上游 dns 就有8.8.8.8↑↑↑ 这个我找到原因了,是因为我在
smartdns的下游adguardhome中对devnak.win主域名重写了A记录(用于局域网设备解析到内网服务)但没有限定重写A记录,导致 SOA/TXT 等记录全部被重写后丢弃了(表现为查询 SOA 或 TXT 等记录返回响应码NOERROR但是为空值)我把上级网关的重定向规则删除后,出现新的报错:(为方便可读,已手动换行)
Certimate 日志:
观察到其中两行日志:
和
似乎这个
Checking DNS record propagation只 check 了一次?我之前在
Let's Encrypt 测试环境反复尝试了许多次才验证成功了后面想要重新在生产环境中申请又这样了,如果像测试环境那样反复尝试的话估计试不了几次就会触发限制了。
@devnakx commented on GitHub (Mar 31, 2025):
目前已成功申请到证书,我先把这个 issue 关闭了
等后面续期的时候看看
acme: error: 400 :: urn:ietf:params:acme:error:dns ::这个问题会不会复现