【发布时间】:2019-10-14 17:05:40
【问题描述】:
我在 Windows Server 2016 Standard 上作为服务运行 MongoDb 4.0.9。
这是我的 mongod.cfg:
- 出于测试目的,我完全关闭了服务器的防火墙。
- 到目前为止,我没有使用 SSH 或任何其他隧道
- Windows 服务作为“网络服务”登录
- 我在“admin”数据库中有一个用户,角色为“userAdminAnyDatabase”、“dbAdminAnyDatabase”和“readWriteAnyDatabase”
我的本地机器是 Windows 10,在这里我也安装了 Mongo 4.0.9。我正在尝试通过 shell 连接到我的服务器的数据库:
当我进入服务器(远程桌面)时,我可以成功连接(相同的用户凭据):
远程连接时,我想不出我做错了什么。
还有什么令人困惑的:我在另一台服务器上做同样的事情(不同的提供者、不同的数据库,还有 Windows Server 2016 Standard、MongoDb 4.0.9 以及相同的用户和角色)。在这里我可以连接。
所以,我认为这与 Windows Server 的设置有关(而不是 Mongo ...)?
有人有想法吗?
【问题讨论】:
-
听起来您的服务器可能有允许在端口 27017 上连接的白名单 IP 地址?您的远程桌面连接到 localhost。
-
你好 pandaab。白名单IP?我不这么认为。此外:防火墙目前已完全关闭。是的,当我运行 RDP 时,我正在连接到 localhost(因为我在机器上)。你有什么建议?
-
嗨 Ingmar,您是否尝试过从任何 linux/ubuntu 机器连接到服务器。如果有的话,请检查一次。这样我们就可以了解问题到底出在哪里。
-
你好 Priyanka,很遗憾我没有 Linux 机器。你真的认为这会有所作为吗?
-
如果你可以在 remonte 服务器上连接 mongodb,那么很有可能你还没有在 remonte 服务器上打开默认的
27017端口。这限制了您与本地机器/mongoshell/robomongo/compass 的连接。只需转到您正在使用的 Web 服务并打开该端口即可。
标签: mongodb