不知何故,我无法将我的本地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"
}
它显示复制器正在状态控制台中运行,但在日志中我收到上面的错误消息。你可能有提示吗?
答案 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"]
}