5

我需要帮助将 PouchDB 与 Couchbase 同步网关同步。

我不断收到以下指向 CORS 问题的错误,但我已经根据他们的文档为 CORS 配置了 Couchbase 同步网关 (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 博客中的其他配置文件,但它们都不起作用!对此的任何帮助将不胜感激!

4

2 回答 2

5

据我所知,您似乎正在尝试访问不支持 CORS 的 Sync Gateway 管理端口。您是否尝试过针对公共端口(4984)?

于 2016-04-27T22:52:39.910 回答
-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

于 2016-06-08T06:55:19.363 回答