我正在尝试设置pouchDB同步,但是我无法远程连接到ouchDB。我已经按照ouchDB上的这些说明在我的ubunto服务器上安装了-由laravel forge管理...尽管该项目本身不是使用laravel(只是一个常规的html文件)
一切都已正确安装,并具有所有预期的响应
如果我运行: curl localhost:5984
我得到: {"couchdb":"Welcome","uuid":"*******************","version":"1.6.1","vendor":{"version":"14.04","name":"Ubuntu"}}
我跑:npm install -g add-cors-to-couchdb
和add-cors-to-couchdb
而且我没有任何跨域错误
但是,如果我尝试转到http://178.xx.xxx.xxx:5984/_utils,它是否会挂起?
使用以下代码时:
var localdb = new PouchDB('messages');
var remotedb = new PouchDB('http://178.xx.xx.xx:5984/messages');
localdb.sync(remotedb, {live: true});
我得到:
Unhandled promise rejection
Promise
{
[[PromiseStatus]]: "rejected",
[[PromiseValue]]: o
}
__proto__: Promise
[[PromiseStatus]]: "rejected"
[[PromiseValue]]: o
error: true
message: "Database encountered an unknown error"
name: "unknown_error"
status: 500
(取自chrome)
有任何想法为什么我会收到此错误吗?似乎正在超时.....任何想法为什么会这样做呢?
另外,如果我使用: ssh -L5984:127.0.0.1:5984 [email protected]
然后去http://localhost:5984/_utils/
它工作正常
同样用替换远程地址http://localhost:5984/messages
也可以使同步工作
在使用此功能时,我还使用“验证安装”检查了是否已正确安装所有内容,并返回“您的安装看起来很好。请放松一下”。
奇怪的!
那么,有谁知道为什么我无法远程连接到SofaDB?
任何帮助将非常感激!
谢谢戴夫
听起来您需要修改local.ini
CouchDB的文件,以允许从不仅仅是本地主机的更多IP访问。
检查您local.ini
的本节内容:
[httpd]
;port = 5984
;bind_address = 127.0.0.1
更改为:
[httpd]
;port = 5984
bind_address = 0.0.0.0
编辑:甚至更简单的解决方案是设置Nginx / Apache代理以将http://example.com/couchdb路由到localhost:5984。这是我使用的Nginx配置:
location /couchdb {
rewrite /couchdb(.*) $1 break;
proxy_pass http://127.0.0.1:5984;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句