我们遇到了与此问题非常类似的问题:
问题是我们在一些较长的请求中得到502而不是504,比如20秒,然后它返回502到浏览器,但Nginx超时设置为60秒等待uWSGI的响应。
我们查看了日志,我们可以看到此错误:
SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected
看起来套接字已经关闭,所以基于上面的SO链接,我偶然发现了这个设置http://uwsgi-docs.readthedocs.io/en/latest/Options.html#socket-timeout,但我无法找到默认值来验证我的声明。
有人可以对这个问题有所了解吗?
答案 0 :(得分:2)
所以问题来自uwsgi方面,我们将socket-timeout
更改为60秒但仍然得到502,结果是harakiri
模式设置为30秒超时以杀死工作人员。将其更改为60秒并使视图休眠90秒并从nginx获得504,这是正确的。