如何修复‘Error: querySrv EREFUSED _mongodb._tcp.cluster0.kdwdteq.mongodb.net’错误
解决MongoDB querySrv EREFUSED错误的方案
检查MongoDB Atlas网络权限
登录Atlas控制台,确认你的IP地址已添加到集群的IP白名单中,测试阶段可临时设置为允许所有IP(0.0.0.0/0),生产环境务必限制IP范围。同时确认集群处于正常运行状态,无暂停或限流情况。验证连接字符串准确性
核对连接字符串中的集群地址_mongodb._tcp.cluster0.kdwdteq.mongodb.net是否与Atlas提供的完全一致。若使用SRV格式,确保Node.js版本≥3.6、MongoDB驱动版本≥3.0,版本不兼容时切换为非SRV格式的连接字符串。排查网络与DNS问题
- 执行
nslookup _mongodb._tcp.cluster0.kdwdteq.mongodb.net检查DNS解析是否正常,解析失败则更换本地DNS为公共DNS(如8.8.8.8)。 - 关闭防火墙、代理或VPN,确认网络未拦截MongoDB默认端口27017。
- 执行
更新MongoDB驱动
运行npm update mongoose或npm update mongodb将驱动升级至最新稳定版,旧版本可能存在兼容性bug。临时切换连接格式
若SRV连接持续失败,直接使用Atlas控制台提供的标准连接字符串(非SRV),示例格式:mongodb://<username>:<password>@cluster0-shard-00-00.kdwdteq.mongodb.net:27017,cluster0-shard-00-01.kdwdteq.mongodb.net:27017,cluster0-shard-00-02.kdwdteq.mongodb.net:27017/<dbname>?ssl=true&replicaSet=atlas-xxxxxx-shard-0&authSource=admin&retryWrites=true&w=majority
内容的提问来源于stack exchange,提问作者Mohammad Fouzan
相关产品推荐
相关产品推荐

