Pymongo connection timeout from remote machine

不问归期 提交于 2020-08-23 05:21:47

问题


I have a Bitnami MEAN Stack running on AWS EC2. I'm trying to connect from a remote machine using PyMongo.

from pymongo import MongoClient
conn = MongoClient('mongodb://username:password@ec2blah.us-east-1.compute.amazonaws.com:27017/dbname')

but I keep getting an error along the lines of pymongo.errors.ConnectionFailure: timed out

I have edited /opt/bitnami/mongodb/mongodb.conf to supposedly allow external connections by commenting out bind_ip = 127.0.0.1 and uncommented bind_ip = 0.0.0.0 and all permutations of commenting/uncommenting those lines.

I've looked over the web for about 90 minutes now trying different things but without luck!


回答1:


On the mongoDB server, do the port connection test, and make sure the DB service running well. If not, start the service.

telnet ec2blah.us-east-1.compute.amazonaws.com 27017

On the remote machine, do the port connection test, to make sure there is no firewall issue.

telnet ec2blah.us-east-1.compute.amazonaws.com 27017

If you have issue to connect, you need check security groups on this instance.

Click the ec2 instance name --> Description --> view rules, you should see the ports are opened

If not, create a new security group , such as `mongoDB`, tcp port 27017 should be opened for inbound traffic, then assign to that instance. 

You should be fine to connect it now.




回答2:


At the time of start-up of MongoDB, set the bind_ip argument to ::,0.0.0.0

mongod --bind_ip ::,0.0.0.0

Read more in the docs of MongoDB: IP Binding.



来源:https://stackoverflow.com/questions/27466198/pymongo-connection-timeout-from-remote-machine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!