From c7bc95679c024ecca3ca99958fa7da487e516d13 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Fri, 3 Jul 2026 13:39:34 +0800 Subject: [PATCH] revise --- .../deployer/providers/aliyun-cdn/aliyun_cdn.go | 13 ++++++++++--- .../deployer/providers/aliyun-dcdn/aliyun_dcdn.go | 13 ++++++++++--- .../deployer/providers/aliyun-live/aliyun_live.go | 13 ++++++++++--- .../deployer/providers/baishan-cdn/baishan_cdn.go | 9 ++++++--- pkg/core/deployer/providers/qiniu-cdn/qiniu_cdn.go | 13 ++++++++++--- .../providers/volcengine-dcdn/volcengine_dcdn.go | 13 ++++++++++--- .../deployer/providers/wangsu-cdn/wangsu_cdn.go | 11 +++++++++-- 7 files changed, 65 insertions(+), 20 deletions(-) diff --git a/pkg/core/deployer/providers/aliyun-cdn/aliyun_cdn.go b/pkg/core/deployer/providers/aliyun-cdn/aliyun_cdn.go index 65118e16..da44f292 100644 --- a/pkg/core/deployer/providers/aliyun-cdn/aliyun_cdn.go +++ b/pkg/core/deployer/providers/aliyun-cdn/aliyun_cdn.go @@ -104,12 +104,11 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep switch d.config.DomainMatchPattern { case "", DOMAIN_MATCH_PATTERN_EXACT: { - if d.config.Domain == "" { + domain := normalizeDomain(d.config.Domain) + if domain == "" { return nil, fmt.Errorf("config `domain` is required") } - // "*.example.com" → ".example.com",适配阿里云 CDN 要求的泛域名格式 - domain := strings.TrimPrefix(d.config.Domain, "*") domains = []string{domain} } @@ -270,3 +269,11 @@ func createSDKClient(accessKeyId, accessKeySecret string) (*alicdn.Client, error return client, nil } + +func normalizeDomain(domain string) string { + // "*.example.com" → ".example.com",适配阿里云 CDN 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +} diff --git a/pkg/core/deployer/providers/aliyun-dcdn/aliyun_dcdn.go b/pkg/core/deployer/providers/aliyun-dcdn/aliyun_dcdn.go index 3bcaaa4d..d7094546 100644 --- a/pkg/core/deployer/providers/aliyun-dcdn/aliyun_dcdn.go +++ b/pkg/core/deployer/providers/aliyun-dcdn/aliyun_dcdn.go @@ -104,12 +104,11 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep switch d.config.DomainMatchPattern { case "", DOMAIN_MATCH_PATTERN_EXACT: { - if d.config.Domain == "" { + domain := normalizeDomain(d.config.Domain) + if domain == "" { return nil, fmt.Errorf("config `domain` is required") } - // "*.example.com" → ".example.com",适配阿里云 DCDN 要求的泛域名格式 - domain := strings.TrimPrefix(d.config.Domain, "*") domains = []string{domain} } @@ -271,3 +270,11 @@ func createSDKClient(accessKeyId, accessKeySecret string) (*alidcdn.Client, erro return client, nil } + +func normalizeDomain(domain string) string { + // "*.example.com" → ".example.com",适配阿里云 DCDN 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +} diff --git a/pkg/core/deployer/providers/aliyun-live/aliyun_live.go b/pkg/core/deployer/providers/aliyun-live/aliyun_live.go index 494c456e..0541c1a2 100644 --- a/pkg/core/deployer/providers/aliyun-live/aliyun_live.go +++ b/pkg/core/deployer/providers/aliyun-live/aliyun_live.go @@ -79,12 +79,11 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep switch d.config.DomainMatchPattern { case "", DOMAIN_MATCH_PATTERN_EXACT: { - if d.config.Domain == "" { + domain := normalizeDomain(d.config.Domain) + if domain == "" { return nil, fmt.Errorf("config `domain` is required") } - // "*.example.com" → ".example.com",适配阿里云 Live 要求的泛域名格式 - domain := strings.TrimPrefix(d.config.Domain, "*") domains = []string{domain} } @@ -251,3 +250,11 @@ func createSDKClient(accessKeyId, accessKeySecret, region string) (*alilive.Clie return client, nil } + +func normalizeDomain(domain string) string { + // "*.example.com" → ".example.com",适配阿里云 Live 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +} diff --git a/pkg/core/deployer/providers/baishan-cdn/baishan_cdn.go b/pkg/core/deployer/providers/baishan-cdn/baishan_cdn.go index 21675b98..882ab8cb 100644 --- a/pkg/core/deployer/providers/baishan-cdn/baishan_cdn.go +++ b/pkg/core/deployer/providers/baishan-cdn/baishan_cdn.go @@ -176,6 +176,9 @@ func createSDKClient(apiToken string) (*baishansdk.Client, error) { } func normalizeDomain(domain string) string { - // "*.example.com" → ".example.com",适配白山云 CDN 要求的泛域名格式 - return strings.TrimPrefix(domain, "*") -} \ No newline at end of file + // "*.example.com" → ".example.com",适配白山云 CDN 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +} diff --git a/pkg/core/deployer/providers/qiniu-cdn/qiniu_cdn.go b/pkg/core/deployer/providers/qiniu-cdn/qiniu_cdn.go index 1b2ca5d4..92653974 100644 --- a/pkg/core/deployer/providers/qiniu-cdn/qiniu_cdn.go +++ b/pkg/core/deployer/providers/qiniu-cdn/qiniu_cdn.go @@ -89,12 +89,11 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep switch d.config.DomainMatchPattern { case "", DOMAIN_MATCH_PATTERN_EXACT: { - if d.config.Domain == "" { + domain := normalizeDomain(d.config.Domain) + if domain == "" { return nil, fmt.Errorf("config `domain` is required") } - // "*.example.com" → ".example.com",适配七牛云 CDN 要求的泛域名格式 - domain := strings.TrimPrefix(d.config.Domain, "*") domains = []string{domain} } @@ -232,3 +231,11 @@ func (d *Deployer) updateDomainCertificate(ctx context.Context, domain string, c return nil } + +func normalizeDomain(domain string) string { + // "*.example.com" → ".example.com",适配七牛云 CDN 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +} diff --git a/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go b/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go index 63455f2e..d7501c5a 100644 --- a/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go +++ b/pkg/core/deployer/providers/volcengine-dcdn/volcengine_dcdn.go @@ -99,12 +99,11 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep switch d.config.DomainMatchPattern { case "", DOMAIN_MATCH_PATTERN_EXACT: { - if d.config.Domain == "" { + domain := normalizeDomain(d.config.Domain) + if domain == "" { return nil, fmt.Errorf("config `domain` is required") } - // "*.example.com" → ".example.com",适配火山引擎 DCDN 要求的泛域名格式 - domain := strings.TrimPrefix(d.config.Domain, "*") domains = []string{domain} } @@ -227,3 +226,11 @@ func createSDKClient(accessKeyId, secretAccessKey, region string) (*vedcdn.DCDN, client := vedcdn.New(session) return client, nil } + +func normalizeDomain(domain string) string { + // "*.example.com" → ".example.com",适配火山引擎 DCDN 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +} diff --git a/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go b/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go index f722b340..959f7776 100644 --- a/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go +++ b/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go @@ -94,9 +94,8 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep return nil, fmt.Errorf("config `domains` is required") } - // "*.example.com" → ".example.com",适配网宿云 CDN 要求的泛域名格式 domains = lo.Map(d.config.Domains, func(domain string, _ int) string { - return strings.TrimPrefix(domain, "*") + return normalizeDomain(domain) }) } @@ -130,3 +129,11 @@ func createSDKClient(accessKeyId, accessKeySecret string) (*wangsucdn.Client, er return client, nil } + +func normalizeDomain(domain string) string { + // "*.example.com" → ".example.com",适配网宿云 CDN 的泛域名参数要求 + if strings.HasPrefix(domain, "*.") { + return strings.TrimPrefix(domain, "*") + } + return domain +}