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

如何在EKS环境下的nginx-ingress中开启HTTP/2支持?

EKS Nginx Ingress + ELB 栈启用HTTP/2操作步骤

前提说明

  • AWS经典负载均衡器(CLB/传统ELB)原生不支持HTTP/2,如果你当前使用的是CLB,需要先切换为应用负载均衡器(ALB)或网络负载均衡器(NLB),只需为nginx-ingress controller的Service添加对应annotation即可:
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-type: alb # 可根据需求替换为nlb
    
  • 以下操作默认你已经使用ALB/NLB作为nginx-ingress的前端负载均衡

步骤1:配置Nginx Ingress开启HTTP/2

大部分场景下nginx-ingress都是通过Helm部署,可任选以下一种方式配置:

  • 方式1:执行Helm升级命令直接注入配置
    替换命令中的release名称和命名空间后执行:
    helm upgrade <你的nginx-ingress release名> ingress-nginx/ingress-nginx -n <ingress所在命名空间> --set controller.config.use-http2=true
  • 方式2:手动修改ConfigMap配置
    找到对应命名空间下名为ingress-nginx-controller的ConfigMap,在data字段下添加配置:
    data:
      use-http2: "true"
    
    保存后配置会自动重载,约1分钟即可生效。

步骤2:ALB监听器开启HTTP/2(仅ALB场景需要)

如果你使用的是ALB作为前端负载均衡,还需要在AWS控制台配置监听器开启HTTP/2:

  • 进入AWS EC2控制台的「负载均衡器」页面,找到nginx-ingress对应的ALB
  • 切换到「监听器」标签,选中HTTPS 443监听器,点击编辑
  • 勾选「HTTP/2」选项后保存配置即可

如果你使用的是NLB(四层负载均衡),无需做本步骤配置,HTTP/2协商会直接由nginx-ingress处理。

验证生效

执行curl命令验证是否已经启用HTTP/2:
curl -v --http2 https://<你的业务域名>
如果返回结果中出现< HTTP/2 200字段,说明HTTP/2已经成功启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:12:00