Vagrant VM 上的 CouchDB(Scotch 盒)

CouchDB on Vagrant VM (Scotch box)

我正在尝试在 Scotch Box VM 上设置 CouchDB(并最终使用 PouchDB)。 VM 运行良好,并通过包含以下代码包括端口 5849 的端口转发:

Vagrant.configure("2") do |config|

    config.vm.box = "scotch/box-pro"
    config.vm.hostname = "scotchbox"
    config.vm.network "forwarded_port", guest: 80, host: 8080
    config.vm.network "forwarded_port", guest: 5984, host: 5984
    config.vm.network "forwarded_port", guest: 3000, host: 3000
    config.vm.network "private_network", ip: "192.168.33.10"

虚拟机运行良好。 localhost:8080 将加载 PHP 主页,如果我有节点服务器 运行,localhost:3000 将加载节点脚本,但 localhost:5984 仅 returns 使用 curl curl: (52) Empty reply from server.

从浏览器或主机命令行加载时的空响应

当我使用vagrant ssh访问虚拟机后,我可以使用curl localhost:5984获取{"couchdb":"Welcome","uuid":"9cabeb8f66947adabe9443594aa7f69c","version":"1.6.0","vendor":{"version":"15.10","name":"Ubuntu"}}

这是我一直参考的指南:https://pouchdb.com/guides/setup-couchdb.html

附加信息:当我转到 192.168.33.10:5984(而不是使用本地主机端口转发)时,结果是连接被拒绝。

关于我的问题可能是什么有什么建议吗?本来以为是转发的问题,结果8080和3000端口都正常,转IP:5984就不行了,疑惑。我还认为该服务可能不是 运行,但在 VM 上执行 ssh 和 运行 curl 似乎表明它实际上是 运行。

谢谢!

默认情况下,CouchDB 绑定到本地主机地址 127.0.0.1,您需要将其重新绑定到 0.0.0.0 才能从 Vagrant box 外部访问它。为此,您需要更改 default.ini 配置文件的 [httpd] 部分中的参数 bind_address 或在 local.ini 配置文件中添加与覆盖相同的参数。