【问题标题】:Can't connect my mongoDB database from my local machine无法从本地计算机连接我的 mongoDB 数据库
【发布时间】:2014-04-01 19:01:19
【问题描述】:

更新:

我刚开始处理一个新的 VPS,我正在尝试从 localhost(使用 robomongo)连接它的端口 27017(mongodb 数据库)。

它在我的本地主机和另一台远程服务器上工作,但我无法在这个 VPS 上连接 mongodb,什么可能导致这个问题? 我是这样开始的:

mongod --setParameter enableLocalhostAuthBypass=0 --config /etc/mongodb.conf --fork

在 /etc/mongodb.conf 文件中未注释 auth = true (但看起来问题不是我无法验证,而是 mongodb 根本没有响应)。 当我通过 SSH 连接启动 mongo admin -u root -p root 时,它运行良好(我可以连接我的数据库)并且我可以看到 mongodb 很好地监听端口 27017。

但是当我尝试从本地机器访问它时,它无法建立连接,如果我尝试将它与浏览器连接,我应该会收到一条 mongodb 错误消息:You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number 但我没有't,我只有 Chrome 的失败页面(端口 28017 也没有响应)。

如何解决这个问题?我的 VPS 是全新的,我可能需要安装更多软件包,但我真的不知道这可能需要什么,它看起来也像防火墙问题,就像在请求到达之前阻止 mongodb 和响应一样,我有juste 安装了 apache2 和 nginx,它们没有运行,所以我真的没有看到...

【问题讨论】:

  • nginx 应该如何在端口 27017 上回答?您是否将其配置为侦听该端口?
  • 与DNS无关。
  • 是的,我意识到这可能与 DNS 无关,但我不知道在哪里寻找...

标签: mongodb


【解决方案1】:

好的,我找到了问题!

/etc/mongod.conf 文件中有一行 bind_ip 127.0.0.1。 它只提供对 mongodb 的指定 IP 地址的访问。

您应该创建一个 IP 数组并将配置文件编辑为:

bind_ip [127.0.0.1, x.x.x.x, ...]

x.x.x.x 是您的 IP。

【讨论】:

  • It provides access only to the specified IP address to mongodb. 感谢您的提示。在 mongoDB URI 连接字符串和与 mongod 连接的应用程序中从 localhost 更改为 127.0.0.1
【解决方案2】:

我用文件(/etc/mongod.conf)解决了这个问题 注释如下:

#bindIp: 127.0.0.1 # 只监听本地接口,注释监听所有接口。

【讨论】:

  • 只是为了指出有关此答案的重要内容:评论bind_ip 配置将允许任何人尝试对您的数据库进行身份验证。如果你这样做,小心用密码保护它(Mongo默认没有密码)。
猜你喜欢
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2018-06-04
相关资源
最近更新 更多