0
votes

Having NGINX Plus with reverse proxy configuration:

upstream busgw_services_backend {
 server esbacc002:8281;
 server esbacc004:8281;

 keepalive 32;
 zone busgw_services_backend 32k;
}

server {
    listen      443 ssl;
    listen      80;
    server_name busgw-acc;

    # some ssl settings

    location / {
       proxy_pass http://busgw_services_backend;
       proxy_set_header Host   $host;
       proxy_set_header X-Forwarded-For $remote_addr;

       health_check interval=2s passes=1  fails=2 uri=/services/healthcheck match=match_ok ;
    }

    access_log  /var/log/nginx/access.log  main if=$abnormal;
    error_log   /var/log/nginx/error.log   warn;
}

Generally this configration works well. However - we have a request which returns only a partial response.

The backend response is a WSDL with chunked response of length 0x13c6 (5062) bytes returned in a single chunk. Nginx returns only 0xf7a (3962) bytes and then fails to product additional bytes (or finishing 0 chunk)

Is there any limit of the chunk size?

Edit:

disabling the response buffer caused returning the whole response (as two separate chunks)

proxy_buffering off;

however the client doesn't receive the last 0 chunk causing waiting for additional data

1

1 Answers

0
votes

At the end - following settings seems to solve the issue

proxy_buffering off;
proxy_cache off;
proxy_http_version 1.1;