Very odd reverse proxy problem . [nginx -> win32 zope]

kiorky kiorky at
Sat Jan 23 00:46:07 MSK 2010

The things:
* I have a nginx handmade compiled under the hood
* I have an official zope+plone installation on native windows
* I have a django based application inside the cygwin
* I have a tomcat+cas installation on native windows

All of that seem to be configured correctly.

What i want to do is to make my nginx a reverse proxy of the 3 others applications.

Because of some other application needs (wsgi served with flup/socket) i need
that nginx to live inside the cygwin installation. That's not my concern
afterall :).

The nginx works well for static contents and as the the django  and tomcat
installations reverse proxy.

Here come problems with zope+plone.

If i hit my http://url/plone (nginx mapped point to the plone install as http
reverse proxy), the first request (get /) pass, but the other stall as 206
partial content and are very long to be satisfied. The browser seems to be
blocked on some read() call.

I tried a bunch of things nginx side (use epoll, use select, tweak proxy
parameters, stop proxy buffering, set timeouts, set retrys and so on) but i have
not found the right configuration if it is there.

But where it is very strange is that if i make an ssh tunnel from localhost:80
to prod_machine:localhost:80, then make some entry into my /etc/hosts to fake
the dns name. Then browse to http://myurl/plone, no problem, i have the content,
and all http request are satisfied (js & co.).

I really don't know how to debug that, can it be because the request enter from
cygwin, go out to windows re enter cygwin and go for the client?

The fact that throught the ssh tunnel, when i hit the nginx server on my plone
install (like "as normal", i dont hit plone but nginx) work perfectly lives me
without words. Other strange thing is that the CAS application, also http
reverse proxified work like a charm.

Other thing is that if i use the windows nginx binary from nginx website, with
equal configuration, it works. The only thing is nginx running out of cygwin
stack and compiled for win32.

If someone has some suggestions ....

GPG Key FingerPrint: 0x1A1194B7681112AF

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the nginx mailing list