无法连接到远程服务器上的 mongodb

时间:2021-06-30 14:08:25

标签: mongodb spring-boot

我在 localhost 上有一个带有 mongo 数据库的 Spring Boot 应用程序,一切正常。

现在我想将我的应用程序部署到我的服务器上,而数据库在另一台远程服务器上。

我更改了 mongod.conf 文件并取消注释“bindIp: 0.0.0.0 #default value is 127.0.0.1”

在我的 application.properties 文件中,我有这个:

“spring.data.mongodb.uri=mongodb://172.16.4.26:27017/jenkinsdb”

当我运行我的应用程序时,我收到“com.mongodb.MongoSocketOpenException: Exception opening socket”导致的“Caused by: java.net.SocketTimeoutException: connect timed out”

1 个答案:

答案 0 :(得分:1)

似乎 MongoDB 无法通过网络访问,这可能有多种原因。我列出了一些:

  • MongoDB 端口 27017 未打开
  • 防火墙阻止了与另一台机器的连接

您也可以尝试在您的 URI 中添加身份验证信息,如下所示:

spring.data.mongodb.uri=mongodb://user:secret@mongo1.example.com:12345,mongo2.example.com:23456/test

您可以将其拆分为多个属性

spring.data.mongodb.host=mongoserver.example.com
spring.data.mongodb.port=27017
spring.data.mongodb.database=test
spring.data.mongodb.username=user
spring.data.mongodb.password=secret

如果您想检查应用程序或 MongoDB 是否存在问题,您可以启动免费的 Mongo Atlas 实例并尝试将其与您的应用程序连接,如果可行,那么我们的机器肯定会出现连接问题< /p>

相关问题