I’m using nginx 1.7.7 as a reverse proxy in front of a Apache CouchDB.
Access via browser to CouchDB data works like a charm. However I have
trouble with replication (which runs via HTTPs). This is what I found
out:
CouchDB would issue a HTTP HEAD first and then perform GET/POST as per
its
algorythm. However the HEAD request times out. I then tried to replicate
that behavior using CURL. This is what I found:
times out. Now I suspect that CouchDB uses a call similar to the later
and
thus runs into the timeout.
I verified: the timeout also happens when I do a -X HEAD to a base
address
(one that is not redirected to CouchDB), so I need to change something
(can
I?) on the nginx side.
not sure about your original problem but curl -X HEAD isn’t a proper
http
request:
This option only changes the actual word used in the HTTP request, it
does
not alter the way curl behaves. So for example if you want to make a
proper
HEAD request, using -X HEAD will not suffice. You need to use the -I,
--head
<http://curl.haxx.se/docs/manpage.html#-I> option.
I know -X HEAD is a hack, but it seems that is the way CouchDB might
operate
(haven’t got a reply back from them). Worked before using an Apache HTTP
reverse-proxy, but I like nginx much better.
So what options do I have to make nginx behave the same for -X HEAD as
it
does for --head?