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

如何将ACI连接至MongoDB虚拟机?连接报错排查求助

ACI公网IP说明及MongoDB连接失败排查步骤

ACI公网IP与常规公网IP的区别

ACI的公网IP本质和Azure其他资源(如虚拟机)的公网IP属于同一类资源,但有两点关键差异需要注意:

  • 若为动态分配的公网IP,ACI重启后IP地址会发生变更,此前配置的入站规则会直接失效
  • 若为静态分配的公网IP,地址固定,和常规公网IP无功能差异

连接失败排查步骤

  • 确认ACI公网IP与入站规则完全匹配

    1. 打开ACI概览页,复制当前生效的公网IP地址
    2. 进入MongoDB虚拟机的网络安全组(NSG)入站规则,检查是否将该IP作为源IP、以TCP协议放行27017端口
    3. 若使用动态IP,建议切换为静态IP,避免ACI重启后IP变更导致规则失效
  • 测试ACI到MongoDB的端口连通性
    在ACI容器内执行以下命令,验证端口是否可达:

    # 使用telnet测试端口连通性
    telnet <MongoDB_VM公网IP> 27017
    # 或使用nc测试(容器需已安装nc工具)
    nc -zv <MongoDB_VM公网IP> 27017
    

    若命令无响应或提示连接拒绝,需排查:

    • 虚拟机操作系统防火墙(如Linux的iptables/ufw、Windows防火墙)是否放行27017端口
    • NSG入站规则的优先级是否足够高,未被其他拒绝规则覆盖
  • 验证MongoDB连接URI正确性
    检查env文件中的连接URI格式是否符合要求,示例:

    MONGO_URI=mongodb://<用户名>:<密码>@<MongoDB_VM公网IP>:27017/<目标数据库名>?authSource=admin
    
    • 确认用户名、密码无拼写错误,特殊字符(如@、:)已正确转义
    • 若MongoDB未开启身份验证,URI可简化为mongodb://<MongoDB_VM公网IP>:27017/<目标数据库名>
  • 检查MongoDB监听配置
    登录MongoDB虚拟机,查看mongod.conf配置文件:

    • 定位bindIp配置项,确认其值为0.0.0.0(允许所有网卡监听)或包含虚拟机的公网/内网IP
    • 若bindIp为127.0.0.1,则MongoDB仅允许本地访问,需修改配置后重启MongoDB服务
  • 查看MongoDB日志定位具体错误
    登录MongoDB虚拟机,查看MongoDB日志文件(通常路径为/var/log/mongodb/mongod.log),查找连接失败相关记录:

    • 若提示Authentication failed,说明身份认证信息错误
    • 若提示Connection refused,说明网络或监听配置存在问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:33:20