部署在AWS EC2的Flask应用访问时出现Bad Request错误
Flask应用部署AWS EC2后访问出现400错误的解决方案
问题根源
日志中的Bad request version ('\x02h2\x08http/1.1')和乱码请求内容,说明:
- 客户端尝试用HTTP/2协议访问,但Flask默认开发服务器仅支持HTTP/1.1
- 你可能使用了
HTTPS协议访问未配置SSL的Flask开发服务器,导致加密请求无法被解析
修复步骤
- 改用HTTP协议访问:在浏览器输入
http://ec2-17-203-34-83.ap-south-1.compute.amazonaws.com:8080,不要添加https://前缀 - 检查EC2安全组:确认安全组已开放8080端口,允许你的IP地址(或临时允许所有IP用于测试)
- 生产环境替换服务器:Flask开发服务器仅用于开发,生产环境请使用Gunicorn、uWSGI等WSGI服务器,并搭配Nginx做反向代理,以支持HTTPS和HTTP/2
内容的提问来源于stack exchange,提问作者Kavishka Rajapakshe
相关产品推荐
相关产品推荐

