mirror of
https://github.com/certd/certd.git
synced 2026-04-30 09:17:24 +08:00
perf: 阿里云waf支持云产品接入方式应用的证书部署
This commit is contained in:
@@ -139,6 +139,23 @@ async onInstance() {}
|
||||
|
||||
#### 5.2 插件执行方法
|
||||
|
||||
1. 开始写代码之前,需要先研究应用的部署接口逻辑, 一般有两种
|
||||
a 用户选择网站ID,给网站部署新证书
|
||||
b 用户选择证书ID,只需要更新证书即可
|
||||
无论哪一种都要保证多次执行都能针对同一个对象部署证书,出错后重新运行能够回归到正常状态
|
||||
反例: 比如根据证书id=1进行更新,结果证书部署完成之后,证书id变成了2,那么再次运行插件,插件的输出参数仍然是1,就无法达到持续更更新证书的目的。
|
||||
这部分逻辑每一步都需要明确的接口文档支撑,不能依赖于经验
|
||||
|
||||
2. 前置证书选择
|
||||
a. 前置证书可以选择原始的certInfo类型,也有可能是上传到平台之后返回的证书id,比如阿里的CAS证书id,部署时要区分这两者
|
||||
b. 如果接口需要上传后的证书id,那么部署时要先将证书上传,再部署
|
||||
c. 如果接口需要原始的certInfo类型,那么直接使用certInfo部署证书
|
||||
d. 当两者都支持时,判断用户选择的证书类型,再考虑优先上传再部署
|
||||
|
||||
3. 证书清理
|
||||
a. 如果是先上传再部署的,那么在部署完成后,可能需要考虑清理证书
|
||||
|
||||
|
||||
```typescript
|
||||
// 插件执行方法
|
||||
async execute(): Promise<void> {
|
||||
@@ -165,7 +182,7 @@ async execute(): Promise<void> {
|
||||
this.logger.info('授权id:', accessId);
|
||||
|
||||
// 具体的部署逻辑
|
||||
// ...
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user