I'm debugging the issue with Gitlab when cloning over http, and it seems
the issue is chunked responses from rack apps when run behind nginx.
I've created this simple Rack app, that responds with chunked http
transfer encoding
https://gist.github.com/gdamjan/8737900
First of all, is that script correct?
I tested it with just uwsgi --http-socket, uwsgi --http-socket behind
nginx with proxy_pass, and uwsgi --socket behind nginx with uwsgi_pass
Accessing the uwsgi http socket directly, I get the http chunks the way
the rack app sent it.
When the same uwsgi is behind nginx as a http proxy and with
proxy_buffering off, I still get a chunked response and the final output
is correct, though it's strange that the chunks are not the same as what
the rack app sent. nginx decided to combine several chunks into one.
which is still ok I guess.
But when using uwsgi_pass, uwsgi_buffering off (or on), the output - the
content - that I get is:
...
4
abcd
4
abcd
...
and the actual chunks are something like
....
12
4
abcd
4
abcd
1b
4
abcd
4
abcd
4
abcd
....
I've tried this with both 1.4.4, 1.5.8 and 1.2.2 all behaved the same -
is it a bug in the uwsgi module in nginx? Should this even work?
--
damjan
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi