如何从已配置证书映射的target-https-proxy删除传统SSL证书?
问题解答
核心结论
无法直接从已有的Target HTTPS Proxy中移除旧SSL证书——因为GCP的target-https-proxies资源里,ssl_certificates字段是不可修改属性,一旦设置就无法直接删除或清空。
更高效的替代方案(无需更换IP/修改DNS)
你之前的临时方案绕了弯路,实际上转发规则的target字段是可以更新的,不需要更换IP。具体步骤如下:
创建新的Target HTTPS Proxy,仅关联URL映射和证书映射,不指定旧SSL证书:
gcloud compute target-https-proxies create lb-global-new-target-proxy \ --url-map lb-global-legacy \ --certificate-map cert-map-1更新现有转发规则,指向新的Target HTTPS Proxy
假设你的转发规则名称为lb-global-forward-rule(可通过gcloud compute forwarding-rules list查看),执行:gcloud compute forwarding-rules update lb-global-forward-rule \ --target-https-proxy lb-global-new-target-proxy验证配置生效
等待2-5分钟让GCP同步配置,通过浏览器或curl访问你的域名,确认证书服务正常(使用cert-map-1中的证书)。清理旧资源
- 删除旧的Target HTTPS Proxy(已无转发规则关联):
gcloud compute target-https-proxies delete lb-global-legacy-target-proxy-2 - 删除不再需要的旧SSL证书:
gcloud compute ssl-certificates delete cert-lb-global-legacy2 cert-lb-globalegacy3
- 删除旧的Target HTTPS Proxy(已无转发规则关联):
关键说明
GCP转发规则并非完全不可变,仅部分属性(如IP地址、端口、协议)不可修改,但关联的Target Proxy是可以更新的——这是简化操作的核心,避免了DNS切换的复杂流程和等待时间。
内容的提问来源于stack exchange,提问作者Gillespie
相关产品推荐
相关产品推荐

