我刚刚在我的Windows机器上安装了CouchDB并且运行良好。
现在,我想从同一网络中的另一台机器访问。
我已经改变了local.ini
bind_address
从127.0.0.1
到0.0.0.0
:
[chttpd]
bind_address = 0.0.0.0
port = 5984
我重新启动了Apache CouchDB
服务,但它不起作用。当我尝试从另一台计算机访问时,例如使用curl -X GET http://192.168.25.49:5984
,我没有得到任何回复。
当我在本地机器(运行CouchDB的地方)中运行相同的命令时,我得到:
curl -X GET http://192.168.25.49:5984
{"couchdb":"Welcome","version":"2.1.1","features":["scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
我的期望是我从同一网络中的另一台机器运行相同的结果。
感谢@Flimzy,问题是Windows防火墙中没有规则。
我刚刚创建了一个允许外部访问的规则,遵循this link上的说明:
控制面板> Windows防火墙 高级设置 入站规则>新规则 端口>下一步选择“TCP”并输入“5984”作为本地端口。 单击“下一步”,然后允许连接。 再次单击“下一步”,确保勾选“域”,“私有”和“公共”。 为防火墙规则命名,然后保存。
之后,我从另一台机器上访问了CouchDb并获得了所需的答案:
curl -X GET http://192.168.25.49:5984
{"couchdb":"Welcome","version":"2.1.1","features":["scheduler"],"vendor":{"name":"The Apache Software Foundation"}}`