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

GCP CloudRun如何将Flask应用的HTTP 1.1转换为HTTP 2?

Flask+Gunicorn 部署到CloudRun/Google云负载均衡后HTTP 2支持的实现机制

这一协议转换由Google Cloud的托管网络组件自动完成,核心分为两个层级的处理:

1. Google云传统HTTPS应用负载均衡的边缘协议终结

无CDN的传统HTTPS应用负载均衡会在Google边缘节点完成HTTP 2协议终结:

  • 客户端与负载均衡器外部端点之间使用HTTP 2通信,这也是截图中客户端收到HTTP 2响应的直接原因。
  • 负载均衡器内部向后端CloudRun实例转发请求时,通过Google内部网络与CloudRun入口网关通信,协议适配由CloudRun网关处理,无需修改后端应用。

2. CloudRun入口网关的协议转换

CloudRun自带托管的入口网关,承担了类似Nginx反向代理的角色:

  • 网关对外支持HTTP 2(兼容HTTP 1.1),接收来自负载均衡器或直接来自互联网的请求。
  • 网关会将HTTP 2请求转换为HTTP 1.1,转发给你部署的Gunicorn+Flask应用——你的应用本身依然运行在HTTP 1.1协议上,无需任何修改。

本地与云端的差异本质

  • 本地运行时,客户端直接与Gunicorn服务通信,而Gunicorn默认仅支持HTTP 1.1,因此客户端只能获得HTTP 1.1响应。
  • 部署到CloudRun或挂载到负载均衡后,客户端请求先经过Google托管的边缘组件(负载均衡器/CloudRun网关),这些组件默认提供HTTP 2支持,并自动完成与后端HTTP 1.1服务的协议转换,最终客户端看到的是HTTP 2响应。

相关部署截图

图1:本地部署截图
本地部署

图2:无CDN的HTTP传统负载均衡器部署截图
负载均衡器部署

图3:CloudRun部署截图
CloudRun部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:23:30