You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一VPC内SpringBoot实例可Ping通MongoDB但连接超时求助

排查同VPC下SpringBoot EC2连接MongoDB EC2超时问题

关键排查步骤

1. 检查MongoDB绑定地址配置

MongoDB默认仅绑定127.0.0.1,仅允许本地连接。需修改配置文件(通常为/etc/mongod.conf):

  • 将bindIp设置为MongoDB实例的私有IP,或临时设为0.0.0.0(测试用,生产环境建议指定私IP)
    修改后重启MongoDB服务:
sudo systemctl restart mongod

2. 验证MongoDB端口监听状态

在MongoDB实例上执行命令,确认27017端口处于监听状态:

netstat -tulpn | grep 27017

正常输出应包含0.0.0.0:27017或对应私有IP的条目,否则需回到配置步骤检查。

3. 确认SpringBoot连接字符串正确性

确保应用连接字符串使用MongoDB实例的私有IP,而非公网IP或localhost,示例:

spring.data.mongodb.uri=mongodb://<mongo-private-ip>:27017/your-target-db

同时检查是否存在端口错误、未配置正确的认证信息(若MongoDB开启了权限验证)。

4. 检查SpringBoot实例的出站规则

即使MongoDB入站规则已开放,需确认SpringBoot实例的安全组出站规则允许TCP 27017端口流量。若为自定义安全组,需添加对应允许规则。

5. 排查MongoDB实例的系统防火墙

EC2实例可能启用了系统级防火墙(如ufw或iptables),拦截27017端口:

  • 检查ufw状态并添加规则:
sudo ufw status
sudo ufw allow from <springboot-private-ip> to any port 27017
  • 检查iptables规则:
sudo iptables -L -n | grep 27017

若无允许条目,需添加对应规则放行流量。

6. 验证MongoDB服务运行状态

确认MongoDB服务正常运行:

sudo systemctl status mongod

若服务异常,查看日志定位问题:

sudo journalctl -u mongod

内容的提问来源于stack exchange,提问作者Rajat Sahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 10:55:08