簡體   English   中英

可以本地連接但不能遠程連接

[英]Can connect locally but not remotely

我在將php客戶端連接到mongodb服務器時遇到問題。

基本上,我在服務器(在美國托管)上安裝了MongoDB,當我通過ssh連接到它時,可以在本地連接它。

但是我無法從php客戶端遠程連接到此服務器,這是我得到的錯誤:

致命錯誤:/var/www/pages/news.php:9中未捕獲的異常“ MongoConnectionException”,消息為“無法連接至:xxx.xxx.xxx.xxx:27017:連接被拒絕”:9堆棧跟蹤:#0 / var / www / pages / news.php(9):MongoClient-> __construct('mongodb://xxx.xxx ...')#1 {main}放在第9行的/var/www/pages/news.php中

我正在使用它以便從我的php客戶端創建連接:

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

我的遠程服務器是Ubuntu 12.04,我已經在iptables中添加了INPUT和OUTPUT規則,以允許端口27017的通信。

我真的不知道問題出在哪里? (我沒有在我的mongodb實例中添加任何身份驗證憑據,這是用於測試目的的新身份驗證憑據)。

如果有人遇到相同的問題並找到了解決方案,則可能會有所幫助,謝謝!

好的,發現問題了:

我鍵入以下命令以顯示偵聽服務及其相應的端口:

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實例。 希望這可以幫助 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM