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

运行Node.js的app.js文件时出现MongoDB连接超时错误求助

解决Node.js连接MongoDB时的ETIMEDOUT错误

从你给出的错误信息来看,核心问题是MongoError: connect ETIMEDOUT 218.93.250.18:27017——你的Node.js应用没法在规定时间内连接到目标MongoDB服务器。我给你整理了几个排查和解决的方向:

1. 先确认服务器地址和端口的正确性

首先打个基础:你配置的MongoDB服务器IP(218.93.250.18)和端口(27017)有没有写错?比如是不是把IP打错了一位,或者端口被改成了其他值?

2. 测试网络连通性

如果地址端口没问题,那先测试你的机器能不能连到服务器:

  • 打开命令提示符/终端,运行ping 218.93.250.18,如果返回“请求超时”,说明你的网络根本没法到达这个服务器,可能是服务器宕机、你的网络被限制,或者服务器所在机房出了问题。
  • 再测试端口是否开放:
    • Windows用户可以用PowerShell运行Test-NetConnection 218.93.250.18 -Port 27017,看“TcpTestSucceeded”是不是True;
    • Linux/Mac用户运行nc -zv 218.93.250.18 27017,如果显示“succeeded!”说明端口开放,否则就是端口被拦截了。

3. 检查MongoDB服务器的配置

如果端口不通,大概率是服务器端的问题:

  • 登录到MongoDB服务器,找到mongod.conf(不同系统路径可能不同,比如Linux在/etc/mongod.conf),查看net.bindIp配置项。如果它只设置了127.0.0.1,那MongoDB只允许本地访问,外部连不上。你可以改成0.0.0.0(允许所有IP访问,注意做好安全限制),或者直接写你的公网IP(218.93.250.18)。修改后记得重启MongoDB服务。
  • 确认MongoDB服务是否在运行:Linux用systemctl status mongod,Windows在服务列表里找MongoDB,看状态是不是“正在运行”。

4. 检查本地和服务器的防火墙/安全组

  • 本地机器:暂时关闭你的防火墙(Windows Defender防火墙、第三方杀毒软件防火墙),试试能不能连接,如果能连上,说明本地防火墙拦截了27017端口,需要添加允许规则。
  • 服务器端:如果是云服务器(比如阿里云、AWS),还要检查云服务商的安全组规则,确保27017端口已经开放给你的本地IP(或者临时开放所有IP测试,但不推荐长期这么做)。如果是物理服务器,检查系统防火墙(比如Linux的iptables、ufw)有没有放行27017端口。

5. 调整连接超时参数

有时候网络延迟高,默认的超时时间不够,可以在代码里延长超时时间:
如果用的是Mongoose:

const mongoose = require('mongoose');
mongoose.connect('mongodb://218.93.250.18:27017/your-database-name', {
  connectTimeoutMS: 30000, // 把超时时间改成30秒
  socketTimeoutMS: 45000
})
.then(() => console.log('成功连接MongoDB!'))
.catch(err => console.error('连接失败:', err));

如果用原生MongoDB驱动:

const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb://218.93.250.18:27017/your-database-name";
const client = new MongoClient(uri, { 
  connectTimeoutMS: 30000,
  socketTimeoutMS: 45000
});
client.connect(err => {
  if (err) console.error('连接失败:', err);
  // 后续操作
  client.close();
});

按这个顺序一步步排查,应该能找到问题所在。

内容的提问来源于stack exchange,提问作者Shubham Dangare

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:42:04