Hello

I am contacting you for support regarding
https://stackoverflow.com/questions/46165415/configure-nginx-proxy-to-preserve-the-chunk-size-sent-from-the-proxied-backend-s

While trying to use Nginx-Ingress-controller in K8s, ran into issue related to 
the behavior of nginx proxy,

The proxied backend server (our NGW) is set to return audio in chunks of http 
to the client with multiparts & Some of our clients (already in the field) have 
so far expected every single HTTP chunk to contain a full part of an audio 
segment....ie a single audio segment may not be broken across several HTTP 
chunks.

For our use case, we had to set the  proxy_buffering : off so to allow the 
nginx to send back results as soon as possible to not increase the CPL, But as 
a side effect, we noticed that the nginx was NOT trying to preserve the chunks 
sizes sent back by the proxied server (NGW), which would cause clients in the 
field to break.

So a single Audio part that is sent back by the NGW with a single http chunk of 
size 24838 may be broken into 5 or 6 chunks returned by nginx-proxy to the 
client  with the total size amounting to the same thing.... We suspect this is 
due to the speed to read/write of the responses on Nginx, and it may read a 
single chunk in separate calls (example 12000 bytes then another 11000 bytes 
then another 1838 bytes)  and because buffering is OFF...these things are being 
sent back as independent chunks to the client.

We understand that the behavior of nginx is fully compliant with http chunking 
and that the client app should be better implemented to not assume coupling of 
chunks and audio segments full parts, BUT, customers app already in the field 
cannot be helped,

Enabling proxy_buffering : on is not an option, as it delay responses until ALL 
the audio segments are ready (from all chunks) and it breaks the 1chunk to 1 
audio segment rule as well.

Could you please advise if there is any way to control the nginx buffering to 
allow it to buffer per Chunk, ir do not send back received data unless a full 
Http chunk is read.... ?

Thank you for you support

Regards

Fares


_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to