Hi,
I’m trying to figure out why my app is having difficulty replicating, and
hoping someone here can help.
I have a couchdb 1.4 server setup behind an Apache reverse proxy. We’re only
allowing HTTPS connections to the Apache server, and couchdb user credentials
are needed to access any db. I’m inside a corporate network, but have verified
with sysadmins that the appropriate (documented) ports are open for CouchDB
replication to happen. The couchdb server in question is in a DMZ. Please let
me know if that’s enough info.
While my laptop is on my corporate (public) wi-fi network, I’m trying to
replicate a db from my server (in our DMZ) with this post to _replicate, but it
consistently times out:
{"source":"https://username:[email protected]/dbname","target":"eeb"}
While I’m external to our network, the replication succeeds without problem.
Using a REST client inside my corporate network, I get no response and it
eventually times out. The Erlang log shows this message:
Replicator, request GET to
"https://username:*****@estante.maflt.org/dbname/_changes?feed=normal&style=all_docs&since=0&heartbeat=10000"
failed due to error timeout
We’ve scoured logs for errors or issues related to connectivity from our public
LAN and our DMZ, and nothing appears to be blocking our connection. Regular
HTTP/HTTPS can go through just fine. I can access Futon just fine on the
server, and the server pull can replicate into itself just fine.
Could someone point me in the right direction to figure out why replication
seems to fail so consistently like this? Are there other ports we need to be
looking at? Other protocols being used? Is there a flaw in my replication
request? Is there some network config I need to have our sysadmin look at that
could be preventing this?
As far as I can tell though, the behavior seems to indicate that the document
is not fully getting posted to the localhost’s _replicate method.
Thank you,
Jay Clark