You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Lucas <lu...@mycozycloud.com> on 2014/05/07 14:55:53 UTC

Couch Bug or Nginx miss-config ?

Hello.

First, Thank's to devs, Couch is a very nice software;
But I encounter a 'bug' that I didn't success to solve.


When I launch replication with file over 50MB over Nginx reverse proxy

{"error":"{worker_died,<0.32459.4>,\n
   {http_request_failed,\"PUT\",\n
     \"http://toto:*****@mydomain.tld/totodb/file1?new_edits=false\",\n
        {error,{error,req_timedout}}}}"}
     




I try to replicate a db (not continuous) between
    a couch 'Client' without listening on the Internet
    a couch 'Server' who listen 10.0.0.42:5984 (in http)

Erlang is 15B01 (Both Side)
I first encouter bug with CouchDB 1.3.X, now I test only with 
1.5.1.(Both Side)


1) If I put the 10.0.0.42:5984 directly routed from the Internet (and 
replicate to PublicIP:Publicport )
     replication is OK with 50MB attachements

2) If I put a Nginx reverse Proxy for proxying request from mydomain.tld 
(:80) to 10.0.0.42:5984

server {
   listen 80;
   server_name mydomain.tld;
   location / {
     proxy_pass http://10.0.0.42:5984;
     proxy_redirect off;
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

As described in this article [1] 
https://wiki.apache.org/couchdb/Nginx_As_a_Reverse_Proxy

Replication is OK with few files <5MB
Replication DIED with files of 50MB

In Nginx Log, I success to identify the specific 50MB file request as 
http code 499 (nginx). 'Connection close client-side before processing 
answer'

I try to increase without success

[couchdb]
os_process_timeout = 50000
[replicator]
connection_timeout = 300000


What I can miss ?
Is could be a couch bug from the replicator keep-alive ?

Thank's for helping


Lucas