From 37f160a45202de398803fabfccbfe36a25a140ce Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sat, 12 Apr 2025 22:01:29 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E5=A2=9E=E5=8A=A0=E5=8F=88=E6=8B=8D?= =?UTF-8?q?=E4=BA=91=20CDN=20=E9=83=A8=E7=BD=B2=E6=97=B6=E7=9A=84=20HTTPS?= =?UTF-8?q?=20=E9=85=8D=E7=BD=AE=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在插件中添加了两个新的配置项:强制 HTTPS 和开启 HTTPS- 用户可以在部署证书时选择是否强制 HTTPS 或开启 HTTPS -根据用户选择,插件会相应地设置 CDN 域名的 HTTPS 配置 --- .../plugins/plugin-depoy-to-cdn.ts | 50 +++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.ts b/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.ts index 35b265ba..3a066b6f 100644 --- a/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.ts +++ b/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.ts @@ -51,6 +51,7 @@ export class UpyunDeployToCdn extends AbstractPlusTaskPlugin { accessId!: string; // + @TaskInput( createRemoteSelectInputDefine({ title: "加速域名", @@ -62,6 +63,38 @@ export class UpyunDeployToCdn extends AbstractPlusTaskPlugin { ) cdnList!: string[]; + @TaskInput({ + title: "强制HTTPS", + value:"keep", + component: { + name: "a-select", + vModel:"value", + options:[ + {value:"true","label":"强制HTTPS"}, + {value:"false","label":"不强制HTTPS"}, + {value:"keep","label":"保持原样"} + ] + }, + required: true //必填 + }) + forceHttps!: string; + + @TaskInput({ + title: "开启HTTPS", + value:"true", + component: { + name: "a-select", + vModel:"value", + options:[ + {value:"true","label":"开启HTTPS"}, + {value:"false","label":"关闭HTTPS"}, + {value:"keep","label":"保持原样"} + ] + }, + required: true //必填 + }) + https!: string; + //插件实例化时执行的方法 async onInstance() { } @@ -80,15 +113,24 @@ export class UpyunDeployToCdn extends AbstractPlusTaskPlugin { const certId = await upyunClient.uploadCert(cookie, this.cert); this.logger.info(`上传证书成功:${certId}`); for (const item of this.cdnList) { + + const data :any= { + crt_id: certId, + domain_name: item, + } + if (this.forceHttps !== 'keep') { + data.force_https = Boolean(this.forceHttps); + } + if (this.https !=='keep') { + data.https = Boolean(this.https); + } + this.logger.info(`开始部署证书:${item}`); const res = await upyunClient.doRequest({ cookie: cookie, url: "https://console.upyun.com/api/https/migrate/domain", method: "POST", - data: { - crt_id: certId, - domain_name: item - } + data: data }); this.logger.info(`部署成功:${JSON.stringify(res)}`); }