CouchDB {error,req_timedout}

时间:2014-08-02 17:50:40

标签: couchdb replication database-replication couchapp couchdb-futon

不知何故,我无法将我的本地couchdb与远程服务器一起复制......我总是在日志中看到:

[error] [<0.5607.0>] Replicator, request GET to "http://admin:*****@mydomain.com/couchdb/apps/_changes?feed=continuous&style=all_docs&since=12&heartbeat=10000" failed due to error {error,req_timedout}
[info] [<0.5607.0>] Retrying _changes request to source database http://admin:*****@mydomain.com/couchdb/apps/ with since=12 in 2.0 seconds

但是当我用我的浏览器查询url(没有连续参数)

http://admin:*****@mydomain.com/couchdb/apps/_changes?style=all_docs&since=12&heartbeat=10000

我可以毫无问题地连接...如果我将超时设置得更高(fe 90秒)它不会改变任何东西..在我通过HTTPS尝试它之前它没有用,所以我现在尝试使用HTTP。在浏览器中很好,在本地CouchDB不工作.. :(

我的复制文档如下所示:

{
   "_id": "ab0c55f3a60057835c079f58360042de",
   "_rev": "2-34cd32e7cada589095a1868bc54e5fce",
   "source": "http://admin:xxxxx@mydomain.com/couchdb/apps",
   "target": "apps",
   "connection_timeout": 30000,
   "continuous": true,
   "owner": "admin",
   "_replication_state": "triggered",
   "_replication_state_time": "2014-08-02T19:43:50+02:00",
   "_replication_id": "06beb828bd5b9d4a78bfc3e049b0bb9c"
}

它显示复制器正在状态控制台中运行,但在日志中我收到上面的错误消息。你可能有提示吗?

1 个答案:

答案 0 :(得分:1)

该死的..我原谅要包含以在nginx中关闭缓冲

请参阅http://wiki.apache.org/couchdb/Nginx_As_a_Reverse_Proxy

  

通过nginx连续复制

     

以上配置将破坏连续复制。通过   添加以下代码段,复制将再次起作用:

 location ~ ^/(.*)/_changes {
     proxy_pass http://localhost:5984;
     proxy_redirect off;
     **proxy_buffering off;**
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

但后来又出现了另一个错误:未经授权的访问..

所以我不得不在我的复制文档中添加以下内容 - 然后它起作用了:

"create_target":true,
"user_ctx": {
    "roles": ["_admin"]
}