2

どういうわけか、リモートサーバーでローカルの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"
}

また、ステータス コンソールでレプリケータが実行されていることを示していますが、ログには上記のエラー メッセージが表示されます。ヒントはありますか?

4

1 に答える 1

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"]
}
于 2014-08-02T18:04:08.440 に答える