问题描述

起因是我想在本地使用 acme.sh 申请一个临时的 SSL 证书,但是一直报错,报错信息是

invalid domain

Error add txt for domain:_acme-challenge.b2.aqcoder.cn

使用 dns_dp 自动申请证书时,出现 invalid domain

一开始我以为是 dnspod 的 id 和密钥写错了,就去重新申请复制粘贴:

一开始我以为是 dnspod 的 id 和密钥写错了,就去重新申请复制粘贴

后来也是不行,还去了腾讯云的访问管理那里找来了有着 dns 全读写权限的子用户的密钥:

后来也是不行,还去了腾讯云的访问管理那里找来了有着 dns 全读写权限的子用户的密钥

结果还是报错,只能使用搜索大法了,把报错信息丢给必应:

使用 dns_dp 自动申请证书时,出现 invalid domain

找不到多少有用的信息,只能去 acme.sh 的 issues 里找了,因为我用的 dns 是腾讯云的 pod,所以我的搜索词是 acme.sh 命令的 dns_dp(使用 invalid domain 也是有相关性的):

我用的 dns 是腾讯云的 pod,所以我的搜索词是 acme.sh 命令的 dns_dp

然后我找那些题目比较符合且有比较多对话的(从右边的对话数可以看出),最后找到这个比较符合我出现的问题:#2806

我用的 dns 是腾讯云的 pod,所以我的搜索词是 acme.sh 命令的 dns_dp

仔细查看他们的对话,可以从中找到一些收获:

stone-stones 说 第二个 token,腾讯云那边的 api 密钥不能直接使用,你需要在 DNSPod 开启密钥 token,token 页面包含一个 id 和 token 信息

stone-stones 说 第二个 token,腾讯云那边的 api 密钥不能直接使用,你需要在 DNSPod 开启密钥 token,token 页面包含一个 id 和 token 信息

问题解决

这就是我想要的信息,原来不能直接用 API 密钥得使用 Token 对应得 id 就是 DP_Id,token 就是 DP_Key.重新申请一个 token,记住值后重新执行一遍:

不能直接用 API 密钥得使用 Token 对应得 id 就是 DP_Id,token 就是 DP_Key.

问题总结

一份从出现问题,寻找问题,找到问题,搜索问题,解决问题的过程就这样完成了,期间花费了大概半个钟搜索问题,其余时间都花费很少。其实,如果熟悉 debug,能想到问题的根源解决报错是最快捷的方式,但是在不熟悉 debug,通过查看日志判断问题的根源的情况下,搜索相似问题成了目前我们大多数时候最常用的办法。