Template
91 lines
3.1 KiB
Markdown
91 lines
3.1 KiB
Markdown
# 火山 TOS/CDN 证书续期 Runbook
|
|
|
|
适用于腾讯云 SSL 自动续期后,需要下载证书并同步到火山引擎证书中心,再绑定到火山 CDN 加速域名的场景。
|
|
|
|
## 安全边界
|
|
|
|
- 下载证书、上传证书、绑定 CDN 证书都是变更操作,执行前必须确认平台、账号、域名、证书 ID、影响、回退和验证方式。
|
|
- 不要在命令行参数、聊天、日志或仓库文件里输出私钥。
|
|
- 证书下载目录必须放在临时目录,完成后清理。
|
|
- 如果错误输出中出现 AK ID、token、私钥或证书私钥内容,后续回复不得复述具体值,并建议轮换对应凭据。
|
|
|
|
## 只读发现
|
|
|
|
确认腾讯云账号:
|
|
|
|
```powershell
|
|
tccli sts GetCallerIdentity
|
|
```
|
|
|
|
查询腾讯云证书:
|
|
|
|
```powershell
|
|
tccli ssl DescribeCertificates --Limit 100 --Offset 0 --SearchKey intelligrow.cn
|
|
```
|
|
|
|
确认火山账号:
|
|
|
|
```powershell
|
|
ve sts GetCallerIdentity ---profile intelligrow ---region cn-beijing
|
|
```
|
|
|
|
查询火山 CDN 域名和当前证书:
|
|
|
|
```powershell
|
|
ve cdn ListCdnDomains --PageSize 100 ---profile intelligrow ---region cn-beijing
|
|
ve cdn DescribeCdnConfig --Domain douyin-video.tos.intelligrow.cn ---profile intelligrow ---region cn-beijing
|
|
ve cdn DescribeCdnConfig --Domain video-archive.tos.intelligrow.cn ---profile intelligrow ---region cn-beijing
|
|
```
|
|
|
|
## 自动化执行
|
|
|
|
确认变更后,可用跨平台 Python 脚本执行单个域名的完整流程:
|
|
|
|
```bash
|
|
python scripts/update_volcengine_cdn_cert_from_tencent.py \
|
|
--domain douyin-video.tos.intelligrow.cn \
|
|
--tencent-certificate-id YDC7UTvD \
|
|
--volcengine-profile intelligrow \
|
|
--volcengine-profile-prefix INTELLIGROW
|
|
|
|
python scripts/update_volcengine_cdn_cert_from_tencent.py \
|
|
--domain video-archive.tos.intelligrow.cn \
|
|
--tencent-certificate-id YLB5y62J \
|
|
--volcengine-profile intelligrow \
|
|
--volcengine-profile-prefix INTELLIGROW
|
|
```
|
|
|
|
脚本行为:
|
|
|
|
- 使用 `tccli ssl DownloadCertificate` 下载腾讯云证书。
|
|
- 解包后使用 Nginx 证书链和私钥文件。
|
|
- 通过 `scripts/import_volcengine_certificate.py` 调用火山证书服务 `ImportCertificate`,避免把私钥放进 `ve` 命令行参数。
|
|
- 使用 `ve cdn BatchDeployCert` 绑定新证书。
|
|
- 查询 CDN 配置和域名下发状态。
|
|
- 默认删除临时证书目录;调试时可加 `--keep-temp`,但调试后必须手动清理。
|
|
|
|
## 手工验证
|
|
|
|
CDN 配置验证:
|
|
|
|
```powershell
|
|
ve cdn ListCdnDomains --Domain douyin-video.tos.intelligrow.cn --ExactMatch true ---profile intelligrow ---region cn-beijing
|
|
ve cdn DescribeCdnConfig --Domain douyin-video.tos.intelligrow.cn ---profile intelligrow ---region cn-beijing
|
|
```
|
|
|
|
公网 TLS 握手验证:
|
|
|
|
```bash
|
|
python -c "import socket, ssl; d='douyin-video.tos.intelligrow.cn'; c=ssl.create_default_context(); s=c.wrap_socket(socket.create_connection((d,443), timeout=10), server_hostname=d); print(s.getpeercert()); s.close()"
|
|
```
|
|
|
|
## 回退
|
|
|
|
如果新证书绑定后异常,且旧证书仍可用:
|
|
|
|
```powershell
|
|
ve cdn BatchDeployCert --Domain <domain> --CertId <old-volcengine-cert-id> ---profile intelligrow ---region cn-beijing
|
|
```
|
|
|
|
回退后重复 CDN 配置和公网 TLS 握手验证。
|