mirror of
https://github.com/certimate-go/certimate.git
synced 2026-04-26 05:05:56 +03:00
[GH-ISSUE #991] Ucloud 申请证书出现 数据库错误 #679
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#679
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 @huaizhengu on GitHub (Oct 14, 2025).
Original GitHub issue: https://github.com/certimate-go/certimate/issues/991
软件版本 / Release Version
0.4.0
问题描述 / Description
failed to obtain certificate: error: one or more domains had a problem: [test.test.com] [test.test.com] acme: error presenting token: ucloud-udnr: api: [server.RetCodeError] 95501 数据库错误
在我使用 v0.4.0 时 创建证书报错, 在使用管理员AKSK同样报错
其他 / Miscellaneous
No response
@fudiwei commented on GitHub (Oct 15, 2025):
建议提交工单咨询 UCloud
@huaizhengu commented on GitHub (Oct 16, 2025):
问题已解决
问题1:
ucloud 排查到报错日志是后台数据库没查到这个域名,多了一个"."
我这边修改了代码,去除域名末尾的点号
在pkg/core/ssl-applicator/acme-dns01/providers/ucloud-udnr/internal/lego.go文件中 第129行 :
//修改前
udnrDomainDNSAddReq.RecordName = ucloud.String(subDomain)
// 修改后
udnrDomainDNSAddReq.RecordName = ucloud.String(dns01.UnFqdn(info.EffectiveFQDN))
第111行和第164行
//修改前
if record.DnsType == "TXT" && record.RecordName == subDomain {
// 修改后
if record.DnsType == "TXT" && record.RecordName == dns01.UnFqdn(info.EffectiveFQDN) {
并且删除subDomain相关函数
修改后的文件 pkg/core/ssl-applicator/acme-dns01/providers/ucloud-udnr/internal/lego.go
lego.go.txt
问题2:
发现报错
", "Content": "m1.feishu.cn", "Prio": "-", "TTL": "600" } ] }] got error, json: cannot unmarshal string into Go struct field DomainDNSRecord.Data.TTL/Prio of type int
修改 certimate-main\pkg\sdk3rd\ucloud\udnr\types.go
package udnr
type DomainDNSRecord struct {
DnsType string
RecordName string
Content string
TTL string
Prio string
}
问题3
使用默认的TTL 值出现报错
failed to obtain certificate: error: one or more domains had a problem acme: error presenting token: ucloud-udnr: api: [server.RetCodeError] 95200 记录的TTL值超出了限制。
将TTL值手动配置600 解决
成功颁发证书
@fudiwei commented on GitHub (Oct 16, 2025):
欢迎 PR~