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

通过代理发送数据时无法从Flask服务器获取正确响应

问题分析与解决步骤

核心问题排查点

  1. 端口匹配问题:你的Gunicorn启动命令绑定的是8888端口,但测试请求用的是5000端口。虽然无代理时能返回200(说明VPS上5000端口有服务响应),但仍需确认两个端口的对应关系——比如是否有反向代理(如Nginx)将5000端口转发到Gunicorn监听的8888端口。

  2. Gunicorn参数误用:
    你添加的--proxy-protocol参数是给**反向代理(如Nginx、HAProxy)**设计的,作用是让Gunicorn识别反向代理发送的Proxy Protocol报文(用于传递客户端真实IP)。而你使用的是本地正向代理,正向代理不会发送这类报文,Gunicorn收到不符合预期的请求格式后,就会返回502错误。

调整步骤

  • 移除Gunicorn的--proxy-protocol参数,重新启动服务:

    gunicorn -w 2 -b 0.0.0.0:8888 app:app --access-logfile=-
    

    如果测试必须用5000端口,要么修改Gunicorn绑定到5000,要么在VPS上配置反向代理(如Nginx)将5000的请求转发到8888。

  • 验证代理的端口访问权限:
    用浏览器通过代理直接访问http://124.202.218.128:5000/new/(或Gunicorn实际监听的端口),如果也返回502,说明代理无法连通该端口:

    • 检查VPS防火墙是否开放了对应端口(5000或8888);
    • 确认代理软件是否允许转发非标准端口的请求,部分代理默认只放行80、443这类常见端口。
  • Flask无需额外配置:Flask本身对代理发送的请求没有特殊限制,只要Gunicorn能正确接收并转发请求,Flask就能正常处理POST请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:51:09