腾讯云负载均衡如何上传 PEM 格式证书并绑定监听器

文章导读
在腾讯云负载均衡(CLB)上配置 HTTPS 服务,最稳妥的方式是先在 SSL 证书管理控制台上传 PEM 格式证书,再到 CLB 监听器配置中绑定该证书 ID。
📋 目录
  1. 快速处理思路
  2. 前置准备与格式检查
  3. 控制台操作流程
  4. CLI 自动化配置示例
  5. 验证与排查
  6. 常见坑与安全提醒
A A

在腾讯云负载均衡(CLB)上配置 HTTPS 服务,最稳妥的方式是先在 SSL 证书管理控制台上传 PEM 格式证书,再到 CLB 监听器配置中绑定该证书 ID。

先说结论:通过 SSL 证书控制台完成上传,在 CLB 七层监听器中选择已上传的证书进行绑定。

  • 适合:需要为 CLB 的 HTTPS/SSL 监听器启用加密传输的场景
  • 先准备:确保证书文件为 PEM 格式,且包含完整的证书链和私钥
  • 验收:绑定后通过 HTTPS 访问域名,检查浏览器地址栏锁形图标是否正常
  • 自动化:支持通过腾讯云 CLI(TCCLI)进行脚本化上传与绑定

快速处理思路

该操作主要在控制台图形界面完成,无需命令行,核心流程如下:

  1. 登录腾讯云控制台,进入 SSL 证书管理页面。
  2. 选择“上传证书”,填写名称,粘贴 PEM 证书内容和 KEY 私钥内容。
  3. 进入负载均衡 CLB 控制台,找到目标实例。
  4. 在监听器管理中添加或编辑 HTTPS 监听器,下拉选择刚才上传的证书。

前置准备与格式检查

第一步:准备证书文件
确保你拥有两个核心内容:公钥证书(通常后缀为 .crt 或 .pem)和私钥文件(通常后缀为 .key)。用文本编辑器打开,内容应分别以 ---`--BEGIN` CERTIFICATE--------`--BEGIN` PRIVATE KEY-----(或 ---`--BEGIN` RSA PRIVATE KEY-----)开头。如果证书链不完整,建议将中间证书合并到公钥文件中。

第二步:本地格式验证(可选)
在上传前,建议使用 OpenSSL 本地验证证书与私钥是否匹配,避免上传报错:

# 查看证书信息
openssl x509 -in your_cert.pem -text -noout

# 验证私钥与证书是否匹配(对比 Modulus)
openssl x509 -noout -modulus -in your_cert.pem | openssl md5
openssl rsa -noout -modulus -in your_key.key | openssl md5
# 两条命令输出的 MD5 值应一致

控制台操作流程

第三步:上传至 SSL 控制台
在 SSL 证书管理页面点击“上传”,类型选择“服务器证书”。将公钥内容粘贴到“证书内容”,私钥内容粘贴到“私钥内容”。保存后记录下证书 ID 或名称。

第四步:绑定 CLB 监听器
进入 CLB 实例详情页,点击“监听器”标签。若新建监听器,协议选择 HTTPS,端口通常为 443;若修改现有监听器,点击编辑。在证书绑定选项处,选择“托管证书”或“上传证书”,从列表中找到第三步上传的证书 ID 并选中。

第五步:保存配置
点击保存,系统会进行校验。若私钥与证书不匹配,会报错提示,此时需检查文件内容是否混淆。

腾讯云负载均衡如何上传 PEM 格式证书并绑定监听器

CLI 自动化配置示例

对于需要批量操作或集成到 CI/CD 流程的场景,可使用腾讯云命令行工具(TCCLI)。

1. 上传证书到 SSL 服务

tccli ssl UploadCertificate `--cli-unfold-argument` \
    `--CertificatePublicKey` "file://./your_cert.pem" \
    `--CertificatePrivateKey` "file://./your_key.key" \
    `--Alias` "MyCLBCert" \
    `--ProjectId` 0

执行成功后,返回结果中包含 CertificateId,请记录该 ID。

2. 绑定证书到 CLB 监听器

tccli clb CreateListener `--cli-unfold-argument` \
    `--LoadBalancerId` "lb-xxxxxx" \
    `--Protocol` "HTTPS" \
    `--Port` 443 \
    `--CertificateId` "cert-xxxxxx" \
    `--ListenerName` "HTTPS_443"

注意:CLI 操作需要预先配置好 SecretId 和 SecretKey,且确保账号拥有 SSL 和 CLB 的相关操作权限。

验证与排查

配置保存成功后,可通过以下方式验证:

  • 浏览器访问:在地址栏输入 https://你的域名,观察是否有安全锁标志,点击锁图标查看证书信息是否与你上传的一致。
  • 命令行检查:在本地终端执行 curl -I https://你的域名,返回状态码 200 或 301 且无证书报错即为正常。
  • 深度验证:使用 OpenSSL 检查服务端返回的证书链:
    openssl s_client -connect 你的域名:443 -servername 你的域名
    检查输出中的 Certificate chain 是否完整。
  • CLB 状态:在 CLB 监听器列表页,确认证书绑定状态显示为“已绑定”或类似正常标识。

常见坑与安全提醒

  • 格式错误:复制粘贴时多带了空格、换行或文件头尾标识缺失,会导致上传失败。确保 BEGIN 和 END 行完整,且为标准 5 个减号。
  • 地域不一致:证书上传后通常只在当前地域可用,跨地域 CLB 无法选择该证书,需在对应地域重新上传,腾讯云证书目前不支持跨地域自动同步。
  • 私钥加密:如果私钥文件本身带有密码保护,上传前需先移除密码,CLB 不支持带密码的私钥。
  • 证书链缺失:某些浏览器或客户端可能因缺少中间证书而报“不安全”,上传时建议将中间证书内容拼接到主证书内容之后。
  • 安全风险:上传成功后建议立即删除本地私钥文件,或确保存储权限受限,防止私钥泄露导致加密被破解。