首页 > 解决方案 > pouchdb 不会在 nginx 服务器上同步创建远程数据库,导致 GET 和 POST 出现大量 404

问题描述

我在 localCouchDb ( http://localhost:5984/testdb ) 上添加了基本身份验证。并且同步适用于凭据。

在我在 nginx 上配置的remoteCouchdb (http: remote_ip /testdb) 上,带有以下代码段:

server {
    listen         80 default_server;
    listen         [::]:80 default_server;
    server_name    myDomain.com www.myDomain.com;

        location / {
                proxy_pass http://localhost:5984;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }


        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;
        }
}

我在local.ini文件中为本地和远程 couchDb启用了WWW-Authenticate = Basic realm="administrator" 。

在 remoteCouchDb 上,我也有相同的凭据,似乎可以正常工作。但是在同步操作时,我收到了越来越多的错误,如下所示:

GET http://***remote_ip***/testdb/_local/x8B36az7Yezgye.7zCNXwA%3D%3D? 404  
POST http://***remote_ip***/testdb/_revs_diff 404 (Object Not Found)

看起来,同步操作无法在远程创建testdb。通过点击“http:// remote_ip /testdb”进行验证。

我可以在 localCouchDb ( http://localhost:5984/_utils/ ) 和 remoteCouchDb (http:// remote_ip /_utils/) 上访问 Futon 页面。

唯一不同的是couchDb的版本;在本地,couchDb 版本是“1.6.0”,在远程它是“1.6.1”。这是一个问题还是我错过了 remoteCouchDb 上的任何配置?

标签: nginxcouchdbpouchdb

解决方案


虽然我对我提出的问题感到尴尬,但我找到了解决方案。与 couchdb 1.6.0 不同,您必须在 1.6.1 中创建数据库,实际上与 2.1.2 相同(所以我猜从版本 1.6.1 开始我们需要自己创建数据库)。


推荐阅读