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);