【问题标题】:Connecting to a mongoDB server on a Windows Azure VM using Robomongo使用 Robomongo 连接到 Windows Azure VM 上的 mongoDB 服务器
【发布时间】:2017-08-02 13:23:27
【问题描述】:

我正在尝试在 Azure vm 上设置 mongodb 服务器,但似乎无法从外部客户端连接到它。

我这样做是为了:

  1. 我已经创建了一个 windows server 2016 虚拟机
  2. 我已将 mongodb 作为服务安装并在新 vm 上启动它
  3. 我在防火墙中为 27017 端口上的 mongodb 添加了入站规则,配置如下:

    • 名称:允许 MongoDB
    • 个人资料:全部
    • 已启用:是
    • 操作:允许:
    • 覆盖:否
    • 程序:任何
    • 本地地址:任意
    • 远程地址:任意
    • 协议:TCP
    • 本地端口:27017
    • 远程端口:任意(其余设置也设置为任意)
  4. 我在 Windows Azure 上创建了一个网络安全组

  5. 在网络安全组上,我已将入站安全规则设置为以下配置:

    • 优先级:100
    • 名称:AllowHttp
    • 来源:Any
    • 目的地:任意
    • 服务:定制(任意/80)
    • 操作:允许
  6. 我将子网部分关联到我的 azure vm 的虚拟网络

    我正在尝试使用 robomongo 从我的本地 PC 连接到 vm 的 mongodb 安装,连接类型为 Direct Connection,地址为 vm 的公共 ip,显示在 vm 的 sumamry 和端口 27017 上。 当我尝试这样做时,我收到以下错误:

有谁知道我做错了什么?

【问题讨论】:

  • 您是否更改了 MongoDB 的配置以允许远程连接?假设你没有 - 我在 StackOverflow 上回答了这个几乎完全正确的问题,here
  • 这个文件存储在哪里?它似乎不在我的 mongoDb 安装所在的 C:\Program Files\MongoDB\Server\3.4\bin 中
  • 只需查看已发布的关于在 Windows 上运行的 MongoDB 的说明。 (容易找到)。它谈到如果不存在配置文件,您需要创建一个配置文件。鉴于您没有配置文件,我非常有信心我链接到的另一个答案是您遇到的问题。

标签: mongodb azure


【解决方案1】:

您为端口 80 添加了 NSG 规则,但您尝试访问端口 27017,因此 NSG 将阻止您。尝试在 NSG 上为 27017 添加允许规则。

【讨论】:

  • OP 显示他们为 27017 创建了入站规则。但他们没有配置 MongoDB 服务器本身以允许外部连接(我在 cmets 中指出,并指出我的答案解释了这一点)。
  • 入站规则在 Windows 防火墙中,而不是 NSG 中
  • 啊。我看错了。因此,加上 w/non-local-only 配置,似乎是核心问题......
  • 问题既是 NSG 又是在完成连接后缺少配置文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 2019-06-11
  • 2015-07-27
  • 2016-06-13
相关资源
最近更新 更多