获取“java.net.SocketTimeoutException:连接超时时,连接到aws EC2上托管的mongo db

时间:2018-03-11 16:09:01

标签: java mongodb amazon-web-services amazon-ec2

我尝试通过putty连接它工作正常。我没有得到如何添加pem文件路径和用户名来通过java

登录到Mongo shell

MongoClient mongoClient = new MongoClient(“ec2-xx-xx-xxx-xx.xx-xxxx-1.xxxxxx.amazonaws.com”,27017);  DB db = mongoClient.getDB(“userDB”);

<{}>

1 个答案:

答案 0 :(得分:0)

这对我来说似乎是一个防火墙问题。您能否检查一下您是否在您正在使用的安全组中启用了端口27017。

AWS安全组配置:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

如果在安全组上启用了端口,但仍然存在问题,请检查MongoDB服务器绑定。

MongoDB有时会将绑定地址默认为127.0.0.1,这将禁用与服务器的公共IP或DNS通信。

请参阅此内容以查找和更改IPBind配置。 https://docs.mongodb.com/manual/reference/configuration-options/

如果绑定默认为127.0.0.1,则将其更改为0.0.0.0,这样就会开始侦听所有IP地址。