可以本地连接但不能远程连接

时间:2014-05-08 20:37:28

标签: php mongodb connection database-connection

我在将php客户端连接到我的mongodb服务器时遇到了问题。

基本上,我在我的服务器上安装了MongoDB(在美国托管),当我通过ssh连接到它时,我可以在本地连接它。

但是我无法从我的php客户端远程连接到这个服务器,这是我得到的错误:

  

致命错误:未捕获的异常'MongoConnectionException',消息'无法连接到:xxx.xxx.xxx.xxx:27017:连接被拒绝'/var/www/pages/news.php:9堆栈跟踪:#0 /var/www/pages/news.php(9):/var/www/pages/news.php中抛出的MongoClient-> __ construct('mongodb://xxx.xxx ...')#1 {main}第9行

我正在使用它来从我的php客户端创建连接:

$m = new MongoClient("mongodb://xxx.xxx.xxx.xxx");

我的远程服务器是Ubuntu 12.04,我已经在iptables中添加了INPUT和OUTPUT规则,以允许端口27017的流量。

我真的不知道问题的来源? (我没有向我的mongodb实例添加任何身份验证凭据,它是一个用于测试的新实例)。

如果有人遇到同样的问题并找到解决方案,那可能会有所帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

好的,发现了这个问题:

我键入此命令以显示侦听服务及其相应的端口:

netstat -anltp | grep "LISTEN"

我看到SSH正在侦听IP:0.0.0.0 但是mongod正在侦听本地接口127.0.0.1

我只需要在这里更新mongodb配置文件:

/etc/mongodb.conf并将参数“bind_ip”设置为:0.0.0.0 并取消注释“port”字段以使用默认值:27017。

结果,现在我可以从我的客户端连接到我服务器上的mongod实例。 希望这有帮助!