同步PouchDB和Couchbase同步网关 - CORS错误

时间:2016-04-24 06:19:32

标签: couchdb couchbase pouchdb couchbase-sync-gateway

我需要帮助将PouchDB与Couchbase Sync Gateway同步。

我一直收到以下指出CORS问题的错误,但我已根据文档为CORS配置了Couchbase Sync Gateway(CSG)。

XMLHttpRequest cannot load http://localhost:4985/test-database/.
No 'Access-Control-Allow-Origin'header is present on the requested
resource. Origin 'http://localhost:3000' is therefore not 
allowed access.

我已根据CSG文档尝试了以下配置文件:

http://developer.couchbase.com/documentation/mobile/1.2/develop/guides/sync-gateway/configuring-sync-gateway/config-properties/index.html

{
  "log": ["HTTP+"],
  "CORS": {
    "origin":["http://localhost:3000"],
    "loginOrigin":["http://localhost:3000"],
    "headers":["Content-Type"],
    "maxAge": 1728000
  },
  "databases": {
    "test-database": {
      "server": "walrus:",
      "users": { "GUEST": {"disabled": false, "admin_channels": ["*"] } }
    }
  }
}

我也从Couchbase博客尝试了其他配置文件,但它们都不起作用!任何有关这方面的帮助将不胜感激!

2 个答案:

答案 0 :(得分:4)

据我所知,看起来你正试图点击同步网关管理端口,它不支持CORS。您是否尝试过定位公共端口(4984)?

答案 1 :(得分:-1)

这是因为您需要在CouchDB上启用CORS。否则,您的脚本只能访问服务器数据库(如果它们来自同一个源) - 协议(例如:http://,https://),域和端口号必须匹配。

您可以使用curl或Futon Web界面在CouchDB中启用CORS,但我们通过制作名为add-cors-to-couchdb的Node脚本为您节省了一些时间。跑吧:

npm install -g add-cors-to-couchdb
add-cors-to-couchdb

了解更多信息,请参阅链接
https://pouchdb.com/errors.html#no_access_control_allow_origin_header