起因
当我使用flask开发了一个SSE流式输出大模型返回内容的接口,前端调用时返回到一半出现net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK)
,排查了一天,各种nginx配置都试过了,无论是强制HTTP1还是设置缓冲大小都不管用。
最终当我试试关掉gunicorn,直接使用python app.py 运行flask时一切正常了!
解决
nginx配置
首先是nginx要正确配置返回头:
1 | location /system/ { |
其次是gunicorn启动命令
Gunicorn 的默认 sync 工作进程不适合长连接,因此使用异步工作进程如 gevent。
首先:pip install gevent
再执行启动命令:gunicorn --worker-class gevent --workers 4 --bind 0.0.0.0:8008 your_app:app
- 本文作者: reiner
- 本文链接: https://reiner.host/posts/dfb03ccc.html
- 版权声明: 转载请注明出处,并附上原文链接