如何修改Elastic Beanstalk Nginx location块的HTTP版本实现端到端HTTP2
实现Elastic Beanstalk Nginx反向代理HTTP2的可行方案
以下两种方案均基于Amazon Linux 2版本的Elastic Beanstalk平台实现:
方案一:覆盖默认代理规则(推荐)
仅修改需要调整的配置项,不影响Elastic Beanstalk的其他默认配置逻辑:
- 在项目根目录创建完整的层级目录:
.platform/nginx/conf.d/elasticbeanstalk/ - 在上述目录中新建名为
00_application.conf的文件,写入以下内容:
location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 2.0; proxy_set_header Connection $connection_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
- 正常部署代码即可,Elastic Beanstalk会自动用你提供的文件替换默认生成的同名配置文件。
方案二:替换完整Nginx配置
如果需要同时修改更多Nginx核心配置,可以直接替换全局配置文件:
- 在项目根目录创建目录:
.platform/nginx/ - 将你修改后的完整
nginx.conf文件放入上述目录,修改时找到对应proxy_http_version参数改为2.0即可。
验证配置生效
- 部署完成后可以登录EC2实例,查看
/etc/nginx/conf.d/elasticbeanstalk/00_application.conf的内容确认修改是否生效 - 对外访问验证可以执行命令:
curl -I --http2 你的应用域名,返回响应头出现HTTP/2 200即说明端到端HTTP2配置成功
注意:HTTP2协议默认需要HTTPS支持,请确保你的Elastic Beanstalk环境已经配置了有效SSL证书,否则浏览器会自动降级到HTTP/1.1协议。
内容的提问来源于stack exchange,提问作者Antonio Gamiz Delgado
相关产品推荐
相关产品推荐

