我正在尝试在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"
VM运行良好。 localhost:8080将加载PHP主页,如果我运行节点服务器,localhost:3000将加载节点脚本,但localhost:5984仅在从浏览器加载时使用curl从主机命令行返回空响应curl: (52) Empty reply from server
。
当我使用vagrant ssh
访问VM时,我可以使用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(而不是使用localhost端口转发)时,结果是拒绝连接。
有关我的问题可能是什么的任何建议?我以为这是一个转发问题,但端口8080和3000工作正常,并转到IP:5984不起作用所以它让我想知道。我也想过可能服务没有运行,但是在VM上运行ssh并运行curl似乎表明它实际上正在运行。
谢谢!
答案 0 :(得分:0)
默认情况下,CouchDB绑定到本地主机地址127.0.0.1,您需要将其重新绑定到0.0.0.0,以便从Vagrant框外部访问它。为此,您需要更改[httpd]
配置文件的default.ini
部分中的参数bind_address
,或者在local.ini
配置文件中添加相同的覆盖。