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

Syncing PouchDB and Couchbase Sync Gateway - CORS Error

我需要帮助将 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 博客中的其他配置文件,但 none 其中的一些有效!对此的任何帮助将不胜感激!

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

这是因为您需要在 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

有关详细信息,请参阅 link
https://pouchdb.com/errors.html#no_access_control_allow_origin_header