我有带有nginx和uwsgi的烧瓶的facebook应用程序。当它从Facebook收到POST时,它总是有错误:
readv() failed (104: Connection reset by peer) while reading upstream
但是当我直接访问我的应用程序(使用GET方法)时,它运行顺利。我做了什么:
POST
方法限制@ app.route - 不起作用。uwsgi_buffer_size
(如果来自facebook的请求很大),uwsgi_harakiri
(如果uwsgi在完成请求之前提供超时) - 不起作用。我在django中有解决方法,但无法弄清楚如何在烧瓶中实施。有人可以帮忙吗?
答案 0 :(得分:3)
这是uwsgi的错误。您可以从[uWSGI] Several bugs获得更多信息。
简单的解决方案是你必须通过wsgi.input读取POST主体,即使POST主体为null或者你不需要POST参数。
答案 1 :(得分:0)
问题是“上游”(nginx正在代理的实际进程)正在关闭连接。
在我的情况下,Django
是我的网络服务器,我需要将DATA_UPLOAD_MAX_NUMBER_FIELDS
设置得更大,因为POST请求中的字段太多了。