【问题标题】:Browser can't access MongoDB on 2701727017浏览器无法访问MongoDB
【发布时间】:2015-06-06 22:13:21
【问题描述】:

我对 MongoDB(或 Linux 安全性)有一些问题:

1 我在 OpenSuSE 13.1 机器(充当数据服务器)上运行 MongoDB 3.0。我有一个由 4 台不同操作系统的计算机组成的本地网络。

2 我可以使用 mongo 命令、pymongo Python 库或 Robomongo 从 Windows 8.1 笔记本电脑进行连接。一切正常:我可以查询服务器并插入内容。

3 然而,当我尝试访问端口 27017 以查看“看起来您正在访问...”消息时,浏览器显示“连接已重置”。

4 SuSe 的防火墙和 AppArmor 已禁用。

问题:有一台计算机无法访问本地服务器的地址。所述计算机在同一个本地网络中并且正在运行 Windows 8.1。我尝试了许多其他设备和操作系统(参见 cmets 中的 miniupdate),它们都设法访问了服务器上的 27017 端口。当然,服务器只是显示消息“看起来您正试图在本机驱动程序端口上通过 HTTP 访问 MongoDB。”。您对为什么有问题的计算机中的浏览器一直说“连接已重置”而不是显示上述消息有任何想法吗?请注意,这台计算机可以完成我在第 2 点中提到的所有操作。让我感到困惑的是浏览器。

【问题讨论】:

  • Miniupdate:我尝试了一部带有 android 的手机,另一台带有 Windows 7 的机器,同一台计算机,但带有 FEDORA 21(它是双启动),它们都可以访问本地 IP(192.168.etc.)和显示常规消息。不知道为什么那个windows 8不能访问服务器...
  • “有什么想法吗?”不是一个好问题。大多数人都有一些(我不想听到它们)。始终要具体,这样我们就不必猜测(或重新阅读标题/问题以了解您真正想要的内容)。您似乎期望访问 mongo 的默认端口 27017 的协议是 HTTP 协议。不是,请尝试使用 28017,因为在尝试访问 27017 时应该使用完整消息。
  • 好吧,我说“有什么想法吗?”因为我完全迷失了。我想知道为什么这台计算机是唯一无法显示“看起来您正试图在本机驱动程序端口上通过 HTTP 访问 MongoDB”的计算机。消息,为什么会出现“连接已重置”消息?就像我说的,其他机器可以通过http访问该端口,但是这台不能。为什么会这样?我真的不知道。
  • pymongo 上次查看时没有使用 HTTP
  • 我修改了原帖以使其更清晰。希望这会有所帮助。

标签: mongodb networking browser connection opensuse


【解决方案1】:

MongoDB 的默认端口不支持http 协议。这是浏览器可以说的(以及其他一些)。如果您正在寻找基于 Web 的状态页面,那么它应该位于端口 28017 (27017 + 1000) 上。

更多详情请见http://docs.mongodb.org/manual/reference/default-mongodb-port/

【讨论】:

  • 哦,我知道,只是由于某种原因,只有具有该操作系统的计算机无法访问 HTTP 页面(这只是告诉我,我似乎正在尝试访问 Mongo 端口通过 HTTP)。此外,在端口 28017 中,它要求我输入用户名和密码,即使我没有设置任何密码。
【解决方案2】:

我自己找到了解决方案:禁用 Avast Antivirus 的“Web shield”。它以某种方式重置了浏览器与 Mongo 的连接。

再一次,我意识到 Mongo 不会在那个端口上使用 HTTP,但除此之外的所有其他设备都能够连接(简单地获取消息)这一事实仍然困扰着我。

【讨论】:

  • 我在 Docker 容器中本地运行 mongoDB 时遇到了同样的问题,但在我的情况下,我有时能够连接并看到“看起来您正试图在本机驱动程序端口上通过 HTTP 访问 MongoDB ."。 Avast 阻止了连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-04
  • 1970-01-01
  • 2015-06-27
  • 2019-01-19
  • 2017-10-23
相关资源
最近更新 更多