Hi,
To make CouchDB listen as sub directory, doc says (
https://cwiki.apache.org/confluence/display/COUCHDB/Nginx+as+a+proxy) to
use:
location /couchdb {
rewrite /couchdb/(.*) /$1 break;
proxy_pass http://localhost:5984;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
But this cannot be used for attachment with special character such as +,
-, ,
For those CouchDB will send back: "{"error":"not_found","reason":"Document
is missing attachment"}"
The only way I found to fix it is:
location /couchdb/ {
rewrite ^ $request_uri;
rewrite ^/ couchdb /(.*) $1 break;
return 400;
proxy_pass http://127.0.0.1:5984/$uri;
}
But doing so I cannot access CouchDB root (http://127.0.0.1/couchdb) since
it will result in Nginx 500 error (zero length URI).
Do you know a better Nginx configuration?
Thanks,
Max