错误:读取上游时readv()失败(104:通过对等方重置连接)

aso*_*yan 8 post wsgi flask dotcloud

我有带有nginx和uwsgi的烧瓶的facebook应用程序.当它从Facebook收到POST时,它总是有错误:

readv() failed (104: Connection reset by peer) while reading upstream
Run Code Online (Sandbox Code Playgroud)

但是当我直接访问我的应用程序(使用GET方法)时,它运行顺利.我做了什么:

  1. POST仅使用方法限制@ app.route - 不起作用.
  2. 在wsgi中添加限制:( uwsgi_buffer_size如果来自facebook的请求很大),并且uwsgi_harakiri(如果uwsgi在完成请求之前提供超时) - 不起作用.

我在django中有解决方法,但还无法弄清楚如何在烧瓶中实施.有人可以帮忙吗?

Yan*_*ven 4

这是uwsgi的bug。你可以从[uWSGI]获得更多几个bug

简单的解决方案是您必须通过 wsgi.input 读取 POST 正文,即使 POST 正文为空或者您不需要 POST 参数。