【问题标题】:Can't connect to MongoDB Atlas from CentOS using NodeJS无法使用 NodeJS 从 CentOS 连接到 MongoDB Atlas
【发布时间】:2020-06-16 11:12:18
【问题描述】:

我在 MongoDB Atlas 上创建了一个集群,并使用 Compass 成功连接到它,还使用本地运行的 Node。 当我尝试在我的 CentOS 机器上运行相同的代码时,我得到一个ECONNREFUSEDerror。这是我的节点代码

const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://myuser:mypass@tablematic-0-z4nuk.gcp.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
  const collection = client.db("test").collection("devices");
  console.log("ERROR: " + err);

  client.close();
});

myusermypass 在这里替换为我的实际用户名和密码。

我已经为端口270152701627017 打开了服务器的防火墙。 Atlas 设置为接受来自任何传入 IP 的连接。

我实在想不出是什么原因造成的……

【问题讨论】:

  • 已尝试从您的 centos ping tablematic-0-z4nuk.gcp.mongodb.net 与它在哪里工作,看看您是否发现任何不同?
  • 我还建议使用 mongo shell 并运行 mongo yourconnectionstring 看看是否可以在 centos 上运行

标签: node.js mongodb centos mongodb-atlas


【解决方案1】:

我不是 100% 确定,但我的连接字符串通常是 mongodb://user:pass@host.app:27017/db_name

【讨论】:

    【解决方案2】:

    我想通了。它最终成为了 cPanel 防火墙,即使我通过 firewall-cmd 打开了端口,我的 cPanel 仍然使用自己的防火墙绕过该配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-13
      • 2021-06-25
      • 2021-09-20
      • 1970-01-01
      • 2018-11-11
      • 2020-02-22
      • 2020-07-25
      • 1970-01-01
      相关资源
      最近更新 更多