fix: handle aliyun dcdn does not support wildcard domain #223

This commit is contained in:
PBK-B 2024-10-20 17:49:44 +08:00
parent 2d275a14ab
commit 0d07c7c234

View File

@ -1,7 +1,7 @@
/* /*
* @Author: Bin * @Author: Bin
* @Date: 2024-09-17 * @Date: 2024-09-17
* @FilePath: /github.com/usual2970/certimate/internal/deployer/aliyun_esa.go * @FilePath: /certimate/internal/deployer/aliyun_esa.go
*/ */
package deployer package deployer
@ -9,6 +9,7 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"strings"
openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
dcdn20180115 "github.com/alibabacloud-go/dcdn-20180115/v3/client" dcdn20180115 "github.com/alibabacloud-go/dcdn-20180115/v3/client"
@ -55,8 +56,15 @@ func (d *AliyunESADeployer) GetInfo() []string {
func (d *AliyunESADeployer) Deploy(ctx context.Context) error { func (d *AliyunESADeployer) Deploy(ctx context.Context) error {
certName := fmt.Sprintf("%s-%s-%s", d.option.Domain, d.option.DomainId, rand.RandStr(6)) certName := fmt.Sprintf("%s-%s-%s", d.option.Domain, d.option.DomainId, rand.RandStr(6))
// 支持泛解析域名,在 Aliyun DCND 中泛解析域名表示为 .example.com
domain := getDeployString(d.option.DeployConfig, "domain")
if strings.HasPrefix(domain, "*") {
domain = strings.TrimPrefix(domain, "*")
}
setDcdnDomainSSLCertificateRequest := &dcdn20180115.SetDcdnDomainSSLCertificateRequest{ setDcdnDomainSSLCertificateRequest := &dcdn20180115.SetDcdnDomainSSLCertificateRequest{
DomainName: tea.String(getDeployString(d.option.DeployConfig, "domain")), DomainName: tea.String(domain),
CertName: tea.String(certName), CertName: tea.String(certName),
CertType: tea.String("upload"), CertType: tea.String("upload"),
SSLProtocol: tea.String("on"), SSLProtocol: tea.String("on"),