【发布时间】:2014-05-08 20:37:27
【问题描述】:
我在将我的 php 客户端连接到我的 mongodb 服务器时遇到问题。
基本上,我在我的服务器(托管在美国)上安装了 MongoDB,当我通过 ssh 连接到它时,我可以在本地连接到它。
但我无法从我的 php 客户端远程连接到此服务器,这是我得到的错误:
致命错误:在 /var/www/pages/news.php:9 中未捕获异常“MongoConnectionException”,并带有消息“无法连接到:xxx.xxx.xxx.xxx:27017:连接被拒绝”堆栈跟踪:#0 /var/www/pages/news.php(9): MongoClient->__construct('mongodb://xxx.xxx...') #1 {main} 在 /var/www/pages/news.php 中抛出第 9 行
我使用它是为了从我的 php 客户端创建连接:
$m = new MongoClient("mongodb://xxx.xxx.xxx.xxx");
我的远程服务器是 Ubuntu 12.04,我已经在 iptables 中添加了 INPUT 和 OUTPUT 规则以允许端口 27017 的流量。
我真的不知道问题出在哪里? (我没有向我的 mongodb 实例添加任何身份验证凭据,它是用于测试目的的新凭据)。
如果有人遇到同样的问题并找到解决方案,那可能会有所帮助,谢谢!
【问题讨论】:
-
如果连接仍然显示被拒绝,我仍然会尝试从您的本地到该端口上的 IP 的基本 telnet 命令,看看它是否对您可用。那你就知道是不是连通性了
-
我刚尝试使用 telnet,连接也被拒绝:/
-
听起来您的远程服务器不接受该端口上的流量。您必须先确认您可以获得出站连接,然后才能访问。您可以通过 ssh 访问它,因此您知道该端口至少是开放的
-
谢谢 Ricky,我可以看到 ssh 的端口 22 在 /etc/services 中,我应该为 mongod 添加相同的:27017 吗?
-
我会尝试遵循以下内容:docs.mongodb.org/manual/tutorial/…
标签: php mongodb connection database-connection