GCP Cloud Run是否支持HTTPS应用协议及容器级TLS终止方案问询
GCP Cloud Run HTTPS协议相关问题解答
1. HTTPS应用协议支持情况
Cloud Run原生支持HTTPS协议接入,默认会为所有服务分配官方*.run.app域名,自动提供可信TLS证书,对外默认只开放HTTPS访问端口。默认场景下平台会在边缘节点完成TLS终止,将解密后的HTTP流量转发到容器监听端口。
2. cloud.google.com/app-protocols: '{"http":"HTTPS"}'的等效实现
该注解是GKE环境下用于指定服务端口使用HTTPS协议的配置,Cloud Run环境无完全一致的注解,但提供了等效的配置能力:
- 你可以在部署时指定
--https-port参数,告知Cloud Run平台以HTTPS协议向容器转发流量,而非默认的HTTP明文流量 - gcloud命令行配置示例:
gcloud run deploy [你的服务名称] \ --image [你的镜像地址] \ --https-port [容器内HTTPS服务监听的端口,如8443]
- YAML部署对应的配置段为:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: [服务名称] spec: template: spec: containers: - image: [镜像地址] ports: - containerPort: 8443 name: https
3. 容器层面完成TLS终止的推荐方案
对于要求在容器侧完成TLS终止的第三方应用,推荐按以下方案配置:
- 启用上述
--https-port配置,关闭Cloud Run平台默认的TLS终止能力,平台会将原始的HTTPS请求直接透传到容器端口 - 容器内的第三方应用自行配置TLS证书、私钥,监听指定的HTTPS端口,自行完成TLS握手、证书校验与流量解密
- 注意:该场景下Cloud Run仍支持绑定自定义域名,仅域名的DNS解析由Cloud Run处理,证书有效性校验、TLS握手逻辑完全由容器内应用自主控制
内容的提问来源于stack exchange,提问作者Vsoma
相关产品推荐
相关产品推荐

