当前位置: 首页 > 知识库问答 >
问题:

获取"java.net.SocketTimeout异常:连接超时,当连接到托管在aws EC2上的mongodb时

钦海荣
2023-03-14

我尝试通过腻子连接,它工作正常。我不明白如何添加 pem 文件路径和用户名以通过 java 登录到 Mongo 外壳

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

       Set<String> tables = db.getCollectionNames();
        for(String coll : tables){
        System.out.println(coll);
        }

共有1个答案

桓智敏
2023-03-14

在我看来,这更像是一个防火墙问题。你能检查一下你正在使用的安全组是否启用了端口27017吗?

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

如果在安全组上启用了端口,但仍然存在问题,请检查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地址。

 类似资料:
  • 代码片段如下所示: 如果有人有决议,请帮忙?

  • 我相对来说是android开发的新手。我正在开发一个android应用程序,向web服务器发送请求并解析JSON对象。在与服务器通信时,我经常收到< code > Java . net . socket time out exception:Connection timed out 异常。有时它会完美地工作,没有任何问题。我知道这个问题已经被问过很多次了。但仍然,我没有得到任何满意的解决这个问题的

  • 一些背景: 我有一个使用3G或4G数据连接的Android应用程序。但它也连接到一个wifi热点,以便在热点设备和应用程序之间传输一些数据。 我想做的是:创建一个到这个wifi热点的套接字连接,并通过这个套接字发送/接收数据。 我添加了以下代码,以确保我们在创建套接字时使用wifi热点wifi(否则它有时最终会使用数据连接): 这似乎没问题。但是,我在尝试连接到远程服务器地址时发现问题。下面是我正

  • 我一直在使用ftp在android应用程序的服务器上上传图像,我正在使用以下代码连接ftp。它在Wi-fi中工作正常,但如果我切换到3G或2G连接,就会出现连接超时错误。那么,你能告诉我如何处理这种情况吗。我的客户在Veriozon也面临这个问题,Sprint,ATT网络提供商。它的iPhone版本在所有网络中都运行良好。 代码: 错误: JAVA网ConnectException:无法连接到主机

  • 我有以下设置: 我正在尝试处理服务器关闭,用户出现连接超时异常的情况,这是我的日志记录: 完整日志记录:http://pastebin.com/gscCGb7x 有没有办法将其转化为改造失败的方法,这样我就可以在那里处理它? 提前感谢!

  • 我正在尝试使用JDBC连接到托管在云中的MongoDB。但是,认证失败。 以下是我的Java代码: 当我执行时,我得到以下异常: 我能够通过mLab web界面以相同的用户id和密码成功登录,并且工作正常。 但是,只有JDBC尝试失败。 有人能帮忙吗,这里有什么问题?