You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GCP负载均衡器中添加/替换Let's Encrypt SSL证书

自动化在GCP负载均衡器中添加/替换Let's Encrypt证书(替代UI操作)

我目前用GCP负载均衡器处理HTTP和HTTPS流量,SSL证书用的是Let's Encrypt的,已经配了cron定时任务自动刷新证书并上传到GCloud,但手动在UI里更新负载均衡器的证书实在太麻烦,想整个自动化脚本替代UI操作。下面是我现有的脚本框架,求完善lb_cert函数的实现:

#!/bin/bash
# 此脚本需以root或sudo权限运行
cert_path=/etc/letsencrypt/live/domain.co
project_ids=("domain-xxxxx")
date=`date +%d-%m-%Y`
certname="domain-cert-${date}"

lb_cert() {
  # 这里需要补充实现负载均衡器证书替换的逻辑
}

# 调用函数处理每个项目
for project in "${project_ids[@]}"
do
  echo "处理项目: $project"
  gcloud config set project "$project"
  
  # 先上传新证书到GCP(对应UI里的「上传SSL证书」操作)
  gcloud compute ssl-certificates create "$certname" \
    --certificate "${cert_path}/fullchain.pem" \
    --private-key "${cert_path}/privkey.pem"
  
  # 调用负载均衡器证书替换函数
  lb_cert "$project" "$certname"
done

补充完整的lb_cert函数(对应UI操作的自动化)

下面是填充后的lb_cert函数,每一步都对应你在GCP控制台UI里的手动操作逻辑:

lb_cert() {
  local project=$1
  local new_cert=$2
  # 替换成你的目标HTTPS代理名称,对应UI里「负载均衡器」→「目标代理」中的HTTPS代理
  local target_proxy="your-https-target-proxy-name"

  echo "在项目 $project 中更新目标代理 $target_proxy 的证书"

  # 步骤1: 获取当前目标代理使用的旧证书(对应UI里查看代理的证书配置)
  old_certs=$(gcloud compute target-https-proxies describe "$target_proxy" \
    --format="value(sslCertificates)")

  # 步骤2: 替换目标代理的证书为新证书(对应UI里编辑代理、替换SSL证书)
  # 如果要保留旧证书作为备份,可以把old_certs加在后面,比如--ssl-certificates "$new_cert,$old_certs"
  gcloud compute target-https-proxies update "$target_proxy" \
    --ssl-certificates "$new_cert"

  # 可选步骤: 删除旧证书(如果不需要保留的话,对应UI里删除旧证书)
  # 注意:如果旧证书还被其他代理/资源使用,绝对不要删除!
  # for cert in $old_certs
  # do
  #   echo "删除旧证书: $cert"
  #   gcloud compute ssl-certificates delete "$cert" --quiet
  # done

  echo "项目 $project 的证书更新完成"
}

使用注意事项

  • 务必把your-https-target-proxy-name替换成你实际的目标HTTPS代理名称
  • 如果有多个目标代理需要更新,可以在函数里添加循环逻辑批量处理
  • 可选的删除旧证书部分请谨慎启用,执行前要确认旧证书没有被其他资源引用
  • 运行脚本的账号需要具备足够的GCP权限(至少需要compute.sslCertificates.create、compute.targetHttpsProxies.update权限)

内容的提问来源于stack exchange,提问作者mrdotb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:21:08