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

解决NextAuth登录时queryTxt EREFUSED MongoDB DNS错误

Next-Auth登录时queryTxt EREFUSED错误解决方案

错误核心是应用无法解析MongoDB集群地址cluster0.1gxvcxr.mongodb.net的DNS记录,导致Next-Auth无法获取会话和用户数据,以下是针对性解决步骤:

  • 测试DNS解析能力
    在应用服务器或本地终端执行以下命令,验证是否能正常解析目标地址:

    nslookup cluster0.1gxvcxr.mongodb.net
    # 或
    dig cluster0.1gxvcxr.mongodb.net
    

    如果无返回结果,尝试切换公共DNS服务器(如8.8.8.8、1.1.1.1)后再测试,确认是否为本地DNS配置问题。

  • 检查MongoDB Atlas网络权限
    登录MongoDB Atlas控制台,进入目标集群的「Network Access」设置:

    • 确认应用服务器的公网IP已添加至IP白名单;
    • 临时设置白名单为0.0.0.0/0(仅用于测试,生产环境禁用),验证是否为IP拦截导致;
    • 查看集群状态,确认无停机、维护等异常情况。
  • 验证Next-Auth数据库配置
    检查项目.env文件中的MongoDB连接字符串:

    MONGODB_URI="mongodb+srv://<你的用户名>:<你的密码>@cluster0.1gxvcxr.mongodb.net/<数据库名>?retryWrites=true&w=majority"
    

    确保用户名、密码、数据库名无拼写错误,并用MongoDB Compass或mongosh命令测试连接字符串的有效性:

    mongosh "mongodb+srv://cluster0.1gxvcxr.mongodb.net/<数据库名>" --username <你的用户名>
    
  • 排查网络防火墙/安全组

    • 检查应用服务器防火墙规则,允许UDP 53端口(DNS请求)和MongoDB Atlas的出站连接(通常为27017端口或集群指定端口);
    • 云服务器用户需检查安全组出站规则,确保未拦截到MongoDB集群的网络请求。
  • 清除DNS缓存
    根据运行环境执行对应命令刷新DNS缓存:

    • Windows:ipconfig /flushdns
    • Mac:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    • Linux:sudo systemd-resolve --flush-caches

内容的提问来源于stack exchange,提问作者Tiwade Manmit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:33:37