我在 Azure 上 (Ubuntu 15.04) 设置了一个 mongodb 服务器。实例可以正常工作,我只需使用“mongo”通过 ssh 进入机器即可连接到 mongodb。
但是,当我尝试直接从计算机连接时,它不起作用。我的理解是,这是因为:
我在 Azure 上创建了一个安全例外:
我已注释掉配置文件中的 bindIp 变量。我可以使用 netstat -l 确认这一点,它会输出以下行:
tcp 0 0 *:27017 *:* LISTEN
我重启了整个系统很多次。客户端上仍然出现相同的错误信息:
mongo ***.westeurope.cloudapp.azure.com
MongoDB shell version: 2.6.10
connecting to: ***.westeurope.cloudapp.azure.com/test
2016-02-09T15:41:54.404+0100 Error: couldn't connect to server ***.westeurope.cloudapp.azure.com:27017 (40.113.138.104), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed
答案1
我对公司的网络连接做出了错误的假设。端口 27017 被阻止了。我改用开放端口解决了这个问题。