TCCLI更新腾讯云CDN证书
TCCLI 更新腾讯云 CDN 证书
背景
经查,由于上游服务商相关政策,针对免费 ssl 的有效时间从 1 年缩减至了 90 天,国内腾讯云及阿里云等平台均受影响。
如此一来,这些云服务大厂的免费证书按照麻烦程度真的不如 acme.sh 签 90 天的泛域名了。不过不知道处于什么原因,腾讯跟阿里都是有云计算平台的 CLI 工具的,但搜索了一圈发现只有阿里云平台的第三方教程,而腾讯云的大多是调用的 web api,所以这里就自己折腾一下吧。
官方的文档只能当手册看,拿来当教程用略有些折磨。
安装 TCCLI
以下内容节选自官方文档,由于文档链接可能会变动,这里就不放了,反正它们钱多,搜索引擎排名向来都是“名列前茅”的,所以随便搜一搜就有了。
TCCLI
没有独立的二进制文件,需要一来 Python 环境,所以安装也是依靠 pip 进行:
1 | pip install tccli |
查看是否安装成功:
1 | tccli --version |
在 Linux 环境下执行以下命令可开启自动补全功能,支持大小写自动纠错:
1 | complete -C 'tccli_completer' tccli |
将其写入
.bashrc/.zshrc
可持久化生效。
配置 TCCLI
通过交互模式进行配置:
1 | tccli configure |
由于安全原因,不建议为腾讯云主账户设置 API Token,通常是建立子用户来设置权限,使用子用户的 secrectKey/Id
进行操作。因此,这里建议使用 TCCLI 的多账户模式:
1 | tccli configure --profile any_name_you_like |
后续使用 tccli
指令时,在最后加上 --profile any_name_you_like
即可使用对应的账户配置。
上传证书
1 | tccli ssl UploadCertificate --cli-unfold-argument --CertificatePublicKey '-----BEGIN CERTIFICATE----- |
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
CertificatePublicKey | 是 | String | 证书内容 |
CertificatePrivateKey | 否 | String | 私钥内容,证书类型为 SVR 时必填,为 CA 时可不填 |
Alias | 否 | String | 备注 |
响应结果:
1 | { |
这里的 CertificateId
就是腾讯云控制台的证书 id。
更新 CDN 证书
1 | tccli cdn UpdateDomainConfig --cli-unfold-argument --Domain 'blog.085404.xyz' --Origin.AdvanceHttps.CertInfo.CertId LE-dsfdsf --Origin.AdvanceHttps.CertInfo.Certificate '不展示' --Origin.AdvanceHttps.CertInfo.PrivateKey '不展示' --Origin.AdvanceHttps.CertInfo.Message '备注' --Origin.AdvanceHttps.CertInfo.From 'acme.sh-upload' |
1 |
|
脚本示例
使用下述脚本前,先执行 sudo apt install jq
,需要 jq
这个库来解析命令行输出的 json 数据。
你用
sed
当然也行
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 日勿の部落格!