django - Nginx 连接重置,来自 uWsgi 的响应丢失

标签 django nginx uwsgi

我有一个通过 Nginx 和 uWsgi 托管的 django 应用程序。在某个非常简单的请求中,我得到了 GET 和 POST 不同的行为,这不应该是这种情况。

uWsgi 守护进程日志:

[pid: 32454|app: 0|req: 5/17] 127.0.0.1 () {36 vars in 636 bytes} [Tue Oct 19 11:18:36 2010] POST /buy/76d4f520ae82e1dfd35564aed64a885b/a_2/10/ => generated 80 bytes in 3 msecs (HTTP/1.0 440) 1 headers in 76 bytes (0 async switches on async core 0)
[pid: 32455|app: 0|req: 5/18] 127.0.0.1 () {32 vars in 521 bytes} [Tue Oct 19 11:18:50 2010] GET /buy/76d4f520ae82e1dfd35564aed64a885b/a_2/10/ => generated 80 bytes in 3 msecs (HTTP/1.0 440) 1 headers in 76 bytes (0 async switches on async core 0)

Nginx 访问日志:
127.0.0.1 - - [19/Oct/2010:18:18:36 +0200] "POST /buy/76d4f520ae82e1dfd35564aed64a885b/a_2/10/ HTTP/1.0" 440 0 "-" "curl/7.19.5 (i486-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.15"
127.0.0.1 - - [19/Oct/2010:18:18:50 +0200] "GET /buy/76d4f520ae82e1dfd35564aed64a885b/a_2/10/ HTTP/1.0" 440 80 "-" "curl/7.19.5 (i486-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.15"

Nginx 错误日志:
2010/10/19 18:18:36 [error] 4615#0: *5 readv() failed (104: Connection reset by peer) while reading upstream, client: 127.0.0.1, server: localhost, request: "POST /buy/76d4f520ae82e1dfd35564aed64a885b/a_2/10/ HTTP/1.0", upstream: "uwsgi://unix:sock/uwsgi.sock:", host: "localhost:9201"

本质上,如果我使用 POST,Nginx 某处会丢失响应,如果我使用 GET,则不会。

有人对此有所了解吗?

最佳答案

通行证--post-buffering 1到 uwsgi

这将自动缓冲所有的 http body > 1 字节

问题是由nginx管理上游断开的方式提出的

关于django - Nginx 连接重置,来自 uWsgi 的响应丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3970495/

相关文章:

django - Django admin分页问题

django - 在Django项目中订阅一个redis channel

sql-server - 使用 MyModel.objects.raw() 基于 SQL 表值函数的 Django 模型

nginx - 我可以使用 vanilla Nginx 将请求 header 值作为响应正文回显吗?

python - 用 flask 记录错误

nginx - Docker-compose:nginx 无法与 django 和 Gunicorn 一起使用

django - 将 http abort/close 从 nginx 传播到 uwsgi/Django

javascript - 使用 Twilio JS 客户端 API 时出现 JWT token 过期问题

nginx - Nginx 中的日志级别 : NGX_LOG_DEBUG_HTTP vs NGX_LOG_DEBUG

c - nginx 如何从一个模块访问另一个模块的变量?