windows - 无法连接到远程 Azure Windows 计算机上运行的 MongoDB 实例

标签 windows mongodb azure

我在连接到运行 Windows Server 2012 R2 的 Windows Azure 虚拟机上运行的 mongo 实例时遇到问题。我已经验证了以下内容

  • 网络安全组有允许端口 27017 入站的规则 (* -> 27017)
  • 虚拟机在所有配置文件上都打开 TCP 端口 27017 入站(目前,我的防火墙已完全禁用)
  • Mongo 作为 Windows 服务运行。我已经验证它已启动并正在运行。我能够在运行 Mongo 的远程虚拟机上的 shell 中连接、插入和查找记录
  • 当我运行 netstat -a 时,我可以看到 0.0.0.0:27017,状态为“LISTENING”
  • 如果我尝试 ping 虚拟机,则会超时(我相信这是预期的情况)
  • 端口 22 在防火墙和网络安全组规则中已开放
  • 我的本地计算机上没有运行任何第三方防病毒软件
  • 我尝试从操作系统和 Azure 门户重新启动虚拟机
  • 我尝试从网络安全组中删除规则并读取它们

我尝试使用最基本的命令 mongo <ip-address> 在运行 Windows 10 的本地计算机上的 bash 中通过 SSH 连接。超时并显示消息 ssh: connect to host x.x.x.x port 22: Resource temporarily unavailable

我尝试通过 Putty/SSH 进行连接。结果相同

我尝试通过 MongoDB Compass 进行连接,但出现类似的错误 Could not connect to MongoDB on the provided host and port

有什么想法吗?

这是我正在使用的配置

systemLog:
   logAppend: true
   verbosity: 0
   traceAllExceptions: true
   path: c:\MongoLogs\mongolog.log
   destination: file
net:
   port: 27017
   bindIp: [127.0.0.1, <external-ip>]      
   http:
      enabled: true
      JSONPEnabled: false
      RESTInterfaceEnabled: true
storage:
   dbPath: c:\MongoData\

最佳答案

事实证明,该虚拟机附加了多个网络安全组配置文件。当我单击“有效安全规则”时,它显示了第二个选项卡,其中有另一个配置文件,该配置文件似乎是从子网继承的 - 足以说明,它没有所需的权限。通过在该配置文件上打开正确的端口,我们就可以正常进行连接了。我们将清理它,但简而言之,存在权限冲突。

关于windows - 无法连接到远程 Azure Windows 计算机上运行的 MongoDB 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519075/

相关文章:

c++ - 如何获取 GPU 信息?

c - 函数地址错误

python - 如何检查磁盘是否在使用 python 的驱动器中?

MongoDB 按计数分组删除记录

mongodb - 如何在考虑并发性的情况下更新多行?

windows - 资源在西欧位置不可用 - 使用 Windows 操作系统的 Azure 容器实例

android - 无法在 Android 上从 Azure Blob 存储播放 mp4

c++ - VS 2010 中 win32 应用程序中的文件夹复制

javascript - 为 Mongodb 创建多个动态对象 NodeJs 查询

azure - 降级 Service Fabric 应用程序版本