diff --git a/internal/deployer/tencent_teo.go b/internal/deployer/tencent_teo.go index 583089dd..e0583cb7 100644 --- a/internal/deployer/tencent_teo.go +++ b/internal/deployer/tencent_teo.go @@ -74,6 +74,12 @@ func (d *TencentTEODeployer) Deploy(ctx context.Context) error { return xerrors.New("`zoneId` is required") } + tcDomain := strings.ReplaceAll(strings.TrimSpace(d.option.DeployConfig.GetConfigAsString("domain")), "\r", "") + tcDomains := strings.Split(tcDomain, "\n") + if len(tcDomains) == 0 { + return xerrors.New("`domain` is required") + } + // 上传证书到 SSL upres, err := d.sslUploader.Upload(ctx, d.option.Certificate.Certificate, d.option.Certificate.PrivateKey) if err != nil { @@ -87,7 +93,7 @@ func (d *TencentTEODeployer) Deploy(ctx context.Context) error { modifyHostsCertificateReq := tcTeo.NewModifyHostsCertificateRequest() modifyHostsCertificateReq.ZoneId = common.StringPtr(tcZoneId) modifyHostsCertificateReq.Mode = common.StringPtr("sslcert") - modifyHostsCertificateReq.Hosts = common.StringPtrs(strings.Split(strings.ReplaceAll(d.option.Domain, "\r\n", "\n"), "\n")) + modifyHostsCertificateReq.Hosts = common.StringPtrs(tcDomains) modifyHostsCertificateReq.ServerCertInfo = []*tcTeo.ServerCertInfo{{CertId: common.StringPtr(upres.CertId)}} modifyHostsCertificateResp, err := d.sdkClients.teo.ModifyHostsCertificate(modifyHostsCertificateReq) if err != nil { diff --git a/ui/src/components/certimate/DeployToTencentTEO.tsx b/ui/src/components/certimate/DeployToTencentTEO.tsx index 56de4d68..4a8a3585 100644 --- a/ui/src/components/certimate/DeployToTencentTEO.tsx +++ b/ui/src/components/certimate/DeployToTencentTEO.tsx @@ -33,9 +33,17 @@ const DeployToTencentTEO = () => { const formSchema = z.object({ zoneId: z.string().min(1, t("domain.deployment.form.tencent_teo_zone_id.placeholder")), - domain: z.string().regex(/^(?:\*\.)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/, { - message: t("common.errmsg.domain_invalid"), - }), + domain: z.string().refine( + (v) => + !!v && + v + .trim() + .split("\n") + .every((s) => /^(?:\*\.)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/.test(s)), + { + message: t("common.errmsg.domain_invalid"), + } + ), }); useEffect(() => {