Hi

Today I had to set up uWSGI (1.2.3 with Python 2.7.3) in a server where I only 
had limited access, so I set it up in http mode, reverse proxied behind an old 
Apache 2.2.3 httpd.

At first I used the parameter --http=:8100, taken from the first example at 
hand, but I soon discovered a big problem: the request body of POST requests 
forwarded by Apache would disappear!

Printing the input object would give me this:

        print self._stream, repr(self._stream.read())

        <uwsgi._Input object at 0x8ffbfb8> ''

This only happened with POST requests forwarded by Apache. If I called uWSGI 
directly with curl, the request body would be in its place. GET or other 
requests without a body had no problem. I thought about a keep-alive issue, 
because it was the main difference in the requests made by curl and by Apache, 
but unfortunately that version lacks the option to disable keep-alive to the 
upstream servers.

After a while I found a different way to make uWSGI talk http: --socket=:8100 
--protocol=http, and this seems to work well.

I can't tell if this is a bug in uWSGI, in the not-so-new Apache 2.2.3, or what 
else, but I thought I'd point it out just in case.

Thanks again for this awesome beast^H^H^H^H^Hpowerful application server!

Tobia
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to