From 3e84e116e863b54c6b4d7db160af372dacc5857f Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 9 Jun 2025 22:46:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BA=91=E6=96=B0=E5=8A=A0=E5=9D=A1clb=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E8=AF=81=E4=B9=A6=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/plugin-lib/src/aliyun/lib/ssl-client.ts | 13 +++++++++++++ .../plugin-aliyun/plugin/deploy-to-slb/index.ts | 3 +++ 2 files changed, 16 insertions(+) diff --git a/packages/plugins/plugin-lib/src/aliyun/lib/ssl-client.ts b/packages/plugins/plugin-lib/src/aliyun/lib/ssl-client.ts index c7208fd12..7ca7f4f7c 100644 --- a/packages/plugins/plugin-lib/src/aliyun/lib/ssl-client.ts +++ b/packages/plugins/plugin-lib/src/aliyun/lib/ssl-client.ts @@ -153,4 +153,17 @@ export class AliyunSslClient { async deleteCert(certId: any) { await this.doRequest("DeleteUserCertificate", { CertId: certId }, { method: "POST" }); } + + getCasRegionFromEndpoint(endpoint: string) { + /** + * {value: 'cas.aliyuncs.com', label: '中国大陆'}, + * {value: 'cas.ap-southeast-1.aliyuncs.com', label: '新加坡'}, + * {value: 'cas.eu-central-1.aliyuncs.com', label: '德国(法兰克福)'}, + */ + const region = endpoint.replace(".aliyuncs.com", "").replace("cas.", ""); + if (region === "cas") { + return "cn-hangzhou"; + } + return region; + } } diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.ts b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.ts index b8cc60e24..f6950be63 100644 --- a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.ts +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.ts @@ -229,10 +229,13 @@ export class AliyunDeployCertToSLB extends AbstractTaskPlugin { } async uploadServerCert(client: any, aliyunCert: CasCertInfo) { + + const casRegion = client.getCasRegionFromEndpoint(this.casEndpoint); const params = { RegionId: this.regionId, AliCloudCertificateId: aliyunCert.certId, AliCloudCertificateName: aliyunCert.certName, + AliCloudCertificateRegionId: casRegion }; const res = await client.request('UploadServerCertificate', params);