我还有一个问题给你。 我有安装了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