Opened 4 years ago

Closed 4 years ago

#1166 closed defect (worksforme)

nginx periodically dropping response body for POST request

Reported by: to.madcrank@… Owned by:
Priority: major Milestone:
Component: nginx-core Version: 1.10.x
Keywords: Cc:
uname -a: Linux pzykov 4.4.0-47-generic #68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.10.0 (Ubuntu)
built with OpenSSL 1.0.2g 1 Mar 2016
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

Description

Hello,
I'm using nginx together with Tomcat. Sometimes in case of an unsuccessful file upload (e.g. tomchat returned error code 415) nginx drop response body.
Tcpdump make me sure that the response body is lost in Nginx.
Setting proxy_buffering option to off helps me.

I want to know whether there are other ways to solve this problem?

My configuration:

server {
        listen          80;
        server_name     myserver.com localhost;
        rewrite ^/$ /app/                   permanent;

        location /app/ {
                proxy_pass http://192.168.242.190:10080;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                client_max_body_size 100m;
        }
}

Change History (1)

comment:1 by Maxim Dounin, 4 years ago

Resolution: worksforme
Status: newclosed

Most likely you are facing a backend problem which fails to properly tear-down the connection while reading a request body, see #1037. As outlined in the ticket, with 1.11.x there will be slightly better behaviour, but proper fix is only possible on the backend side.

If you think that you are facing a different problem, please reopen this ticket and provide tcpdump and debug log for a request with the problem observed.

Note: See TracTickets for help on using tickets.