MongoDB 使用动态端口吗?

MongoDB 使用动态端口吗?

我们在 Windows 上使用默认端口 (27017) 使用 MongoDB 副本。

我们的服务器都位于防火墙后面,我们希望将防火墙配置为仅允许打开默认端口。

但是,查看 netstat 时,我们会看到使用了以下端口:

[mongod.exe]
  TCP    0.0.0.0:27017          SERVER-NAME:0           LISTENING
[mongod.exe]
  TCP    0.0.0.0:47001          SERVER-NAME:0           LISTENING

为什么 mongo 要使用动态端口 47001?我们必须在防火墙上打开动态端口(除了默认的 27017)才能允许其他服务器访问它。

为什么 mongo 需要动态端口?我至少可以强制它使用预配置的端口吗?

谢谢!

答案1

看到我们如何看到默认端口正在用于实例mongo,端口必须来自shardsvrconfigsvr运行时。

根据评论来判断......
最好的办法是检查副本集是否正在使用这些端口。

db.runCommand( { replSetGetStatus : 1 } )

所使用的端口应显示在name输出文档的一部分中。

相关内容