在Iris Couch上启用CORS

时间:2012-10-02 11:45:40

标签: couchdb cors

关注instructions为我的iriscouch启用CORS:

  1. /_config/httpd/cors设置为true
  2. 添加一个部分:/_config/cors/my.iriscouch.com:6984设置为"http://localhost http://myapp.com"
  3. 然后测试一下:

    $ curl -I https://my.iriscouch.com:6984/
    HTTP/1.1 200 OK
    Server: CouchDB/1.2.0 (Erlang OTP/R15B)
    Date: Tue, 02 Oct 2012 10:49:18 GMT
    Content-Type: text/plain; charset=utf-8
    Content-Length: 40
    Cache-Control: must-revalidate
    

    但响应中没有Access-Control-Allow-Origin标题 ...

    还尝试重启服务器:

    $ curl -XPOST -HContent-Type:application/json https://me:XXXX@my.iriscouch.com:6984/_restart
    {"ok":true}
    

    但没有更多运气......

    -

    有没有人成功地为他的iriscouch启用了CORS?

    注意:CORS补丁应该已经应用于我的帐户。

    谢谢。

3 个答案:

答案 0 :(得分:4)

我使用以下配置使其工作:

section | option      | value
-------------------------------
cors    | credentials | true
cors    | origins     | *
httpd   | enable_cors | true

此外,如果您正在执行来自您的网络应用程序的任何ajax请求,请确保将 withCredentials 参数设置为 true

AngularJS的示例:

$http({withCredentials: true, ...}).post(...)

答案 1 :(得分:2)

如果您打开“配置”工具,您会在“ httpd ”下找到“ enable_cors ”。您希望将该值更改为“ true ”。

接下来,如果向下滚动到页面底部,您会看到“添加新栏目”链接。您想点击它并在“ cors ”部分中添加“来源”选项,其值为“ * ”。您可以将“来源”值设置为实际网址,但这样可以为所有人启用CORS。

这就是我让它为我工作的方式。

答案 2 :(得分:1)

现在看来这是可能的。虽然我还没有测试过,但我已经启用了CORS。我刚刚开始玩CouchDB。

检查配置。 CORS应显示已禁用。 http://YOURDOMAIN.iriscouch.com/_utils/config.html

请参阅此处的说明以安装add-cors-to-couchdb http://pouchdb.com/getting-started.html

执行: add-cors-to-couchdb https://YOURDOMAIN.iriscouch.com:6984 -u USERNAME -p PASSWORD

结果: 成功

再次检查配置。应该显示启用CORS。 http://YOURDOMAIN.iriscouch.com/_utils/config.html