我還有一個問題給你。 我有安裝了mondodb的Amazon EC2實例。 除了一件事情 - 它無法從外部(我的電腦)訪問(連接),它工作得很好。 我認爲安全組的問題。這是某種默認的防火牆。 有誰知道如何配置EC2實例訪問mongodb? 在此先感謝。在亞馬遜EC2上訪問Mongodb的問題
10
A
回答
10
您需要添加一個安全組例外端口27017,如果你使用的是默認的配置爲您從外部訪問它。有關安全組配置,請查看amazon EC2文檔。如果您在Mongo上使用不同的端口,請相應地更改安全組端口。
--Sai
39
在做這件事之前仔細考慮。如果您打開端口,請確保限制可以訪問它的IP號碼,否則任何人都可以訪問您的數據庫。你可以在MongoDB中啓用認證,但它不是特別安全,只是一個用戶名和密碼。你不應該讓你的數據庫對互聯網開放,這不是一個好主意。
比EC2防火牆上開一個口一個更好的辦法是打開一個SSH隧道的轉發端口,這樣可以確保只有您可以訪問數據庫,並僅在SSH隧道是活動的。
打開一個新的終端並運行此命令(您SSH'ing到您的服務器時使用的用戶和服務器的名稱替換用戶和主機):
ssh [email protected] -N -L 27017:127.0.0.1:27017
該命令將轉發將計算機上的端口27017連接到服務器上的同一端口。要連接到MongoDB實例,只需在終端中運行mongo
(如果不起作用,請嘗試mongo --host 127.0.0.1
或甚至mongo --host 127.0.0.1 --port 27017
)。
如果您在本地機器上運行的MongoDB,你將不得不改變第一口,因爲本地服務器已在使用它。在這種情況下運行此命令:
ssh [email protected] -N -L 27018:127.0.0.1:27017
,然後用
mongo --port 27018
(可能添加--host 127.0.0.1
,如果它不工作)連接。
當您完成與數據庫的工作,退出mongo
,然後按Ctrl-C與SSH命令的終端。
5
您的EC2實例是否是Windows服務器?如果是這樣,除了EC2的安全組之外,還需要配置Windows防火牆以允許傳入連接。
轉到管理工具,Windows防火牆具有高級安全性,並配置新的規則,允許在端口27017(默認端口蒙戈)或任何與您所選擇的傳入連接。
相關問題
- 1. EC2亞馬遜TCPS問題
- 2. 亞馬遜EC2上的Django syncdb問題
- 3. 亞馬遜EC2訪問被拒絕
- 4. 亞馬遜ec2更改訪問密鑰
- 5. 亞馬遜EC2:Jetty無法訪問
- 6. 亞馬遜EC2升級問題
- 7. 亞馬遜AWS SSL問題
- 8. IssueFulfillmentOrder問題亞馬遜MWS
- 9. 亞馬遜MWS問題_POST_INVENTORY_AVAILABILITY_DATA_
- 10. 與亞馬遜EC2
- 11. 亞馬遜S3存儲圖像訪問問題:拒絕訪問
- 12. 訪問亞馬遜EC2需要很長的時間
- 13. uploadify什麼端口?在亞馬遜ec2問題
- 14. MongoDB未正確安裝在亞馬遜EC2的Ubuntu 11.04上
- 15. 亞馬遜EC2的用途
- 16. 來自Filezilla的亞馬遜EC2 SFTP連接問題
- 17. 關於亞馬遜EC2計算單元的問題
- 18. 當通過公共IP訪問亞馬遜ec2時不工作
- 19. 通過公共IP訪問亞馬遜EC2獲取超時
- 20. 亞馬遜EC2丟失了私鑰,如何訪問服務器?
- 21. 亞馬遜EC2上的MP3轉換
- 22. 如何防止其他服務器訪問亞馬遜的MongoDB?
- 23. 權限被拒絕亞馬遜EC2和S3託管問題
- 24. 新手VPS和/或亞馬遜ec2問題
- 25. 連接到亞馬遜EC2上託管的mongoDb Bitnami服務器
- 26. 亞馬遜EC2和jbossws
- 27. 亞馬遜EC2實例
- 28. 亞馬遜AWS EC2使用
- 29. 亞馬遜EC2和S3
- 30. 亞馬遜AWS Ec2 + Elastic IP
我知道我應該這樣做,但我無法弄清楚究竟是什麼。 – clumpter 2011-01-22 17:20:57
確保你已經從`mongodb.conf`中註釋掉`bind_ip` – 2011-10-14 07:56:10
然後不要忘記重新啓動mongod服務 – 2014-10-02 11:24:42