8

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

readv() failed (104: Connection reset by peer) while reading upstream

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

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

我在django中有解决方法,但还不知道如何在烧瓶中实现。有人可以帮忙吗?

4

2 回答 2

3

这是uwsgi的错误。您可以从[uWSGI]中获得更多信息。

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

于 2012-06-20T07:52:54.930 回答
0

问题是“上游”(nginx 正在代理的实际进程)正在关闭连接。

就我而言,Django是我的网络服务器,我需要设置DATA_UPLOAD_MAX_NUMBER_FIELDS更大,因为 POST 请求中的字段太多。

于 2017-07-10T15:48:42.287 回答