【问题标题】:MongoDB connection error on AWS ec2 instanceAWS ec2 实例上的 MongoDB 连接错误
【发布时间】:2018-05-01 03:09:15
【问题描述】:

我试图从我托管在弹性 beanstalk 上的应用程序连接到我在 ec2 实例上的 mongo 服务器。

授权未启用时有效。我可以通过本地 IP 和公共 IP 进行连接。

然后我将用户添加到数据库并在服务器中启用授权。我可以从任何命令行界面使用 mongodb://user:password@ec2IP/27017 连接到服务器。

使用来自 elasticbeanstalk 应用程序的相同 mongo URI,我无法连接到 mongodb 服务器。这是我得到的错误 -

MongoError: failed to connect to server [<user-name-mongo-server>:27017] on first connect [MongoError: getaddrinfo ENOTFOUND <user-name-mongo-server> <user-name-mongo-server>:27017

有什么想法吗?提前致谢!

【问题讨论】:

  • 您是否检查过您的 mongodb 服务器是否正在运行?
  • 是的,正如我所说,我可以使用来自任何 CLI 的相同 mongod:// URI 远程连接它
  • 然后首先尝试连接“Robo 3T”并再次运行您的应用程序。
  • Robo 3T 连接也正常。
  • 然后,在您的应用中,检查您的授权信息

标签: node.js mongodb amazon-ec2 mongoose amazon-elastic-beanstalk


【解决方案1】:

显然,

我的密码包含

%

或者一个

?

这是猫鼬连接的问题。

所以我的 mongo URI 看起来像这样 -

mongodb://<user>:<password-including-%-or-?>@IP:port/dbname

【讨论】:

    猜你喜欢
    • 2016-09-22
    • 1970-01-01
    • 2017-09-15
    • 2018-11-28
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2015-09-21
    相关资源
    最近更新 更多