[GH-ISSUE #991] Ucloud 申请证书出现 数据库错误 #679

Closed
opened 2026-03-03 01:05:11 +03:00 by kerem · 3 comments
Owner

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

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_
kerem 2026-03-03 01:05:11 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@fudiwei commented on GitHub (Oct 15, 2025):

建议提交工单咨询 UCloud

<!-- gh-comment-id:3404368813 --> @fudiwei commented on GitHub (Oct 15, 2025): 建议提交工单咨询 UCloud
Author
Owner

@huaizhengu commented on GitHub (Oct 16, 2025):

问题已解决
问题1:
ucloud 排查到报错日志是后台数据库没查到这个域名,多了一个"."

Image

我这边修改了代码,去除域名末尾的点号
在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 解决

成功颁发证书

<!-- gh-comment-id:3409150053 --> @huaizhengu commented on GitHub (Oct 16, 2025): 问题已解决 **问题1:** ucloud 排查到报错日志是后台数据库没查到这个域名,多了一个"." <img width="1305" height="318" alt="Image" src="https://github.com/user-attachments/assets/f13b77b6-861d-44f2-91b9-50f1d67b506a" /> 我这边修改了代码,去除域名末尾的点号 在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](https://github.com/user-attachments/files/22940476/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 解决 成功颁发证书
Author
Owner

@fudiwei commented on GitHub (Oct 16, 2025):

问题已解决 问题1: ucloud 排查到报错日志是后台数据库没查到这个域名,多了一个"."

Image 我这边修改了代码,去除域名末尾的点号 在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 解决

成功颁发证书

欢迎 PR~

<!-- gh-comment-id:3410475213 --> @fudiwei commented on GitHub (Oct 16, 2025): > 问题已解决 **问题1:** ucloud 排查到报错日志是后台数据库没查到这个域名,多了一个"." > > <img alt="Image" width="1305" height="318" src="https://private-user-images.githubusercontent.com/95726328/501825130-f13b77b6-861d-44f2-91b9-50f1d67b506a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjA2MTUzNjIsIm5iZiI6MTc2MDYxNTA2MiwicGF0aCI6Ii85NTcyNjMyOC81MDE4MjUxMzAtZjEzYjc3YjYtODYxZC00NGYyLTkxYjktNTBmMWQ2N2I1MDZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTEwMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMDE2VDExNDQyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIxZmM3M2JhZjJjMjM0NTQ3YTdkYWVmNzM0YjBjOTFhNTJlYThjYWM3NmRlZmE1OGI3YzE5YmIzMzQxYmNmZDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.OplBXXGvONbX_xPZV2akDclDzLItVgEU66z2kuWOvs0"> > 我这边修改了代码,去除域名末尾的点号 在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](https://github.com/user-attachments/files/22940476/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 解决 > > 成功颁发证书 欢迎 PR~
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/certimate#679
No description provided.