无法使用 NodeJS 从 CentOS 连接到 MongoDB Atlas
Can't connect to MongoDB Atlas from CentOS using NodeJS
我在 MongoDB Atlas 上创建了一个集群,并使用 Compass 和本地节点 运行ning 成功连接到它。
当我尝试在我的 CentOS 机器上 运行 相同的代码时,我得到一个 ECONNREFUSED
错误。这是我的节点代码
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();
});
myuser
和mypass
这里用我实际的用户名和密码代替。
我已经为端口 27015
、27016
和 27017
打开了服务器的防火墙。
Atlas 设置为接受来自任何传入 IP 的连接。
我真的想不出是什么原因造成的...
我不是 100% 确定,但我的连接字符串通常是这样的
mongodb://user:pass@host.app:27017/db_name
我已经弄明白了。它最终成为了 cPanel 防火墙,即使我已经通过 firewall-cmd
打开了端口,我的 cPanel 仍然使用它自己的防火墙绕过该配置。
我在 MongoDB Atlas 上创建了一个集群,并使用 Compass 和本地节点 运行ning 成功连接到它。
当我尝试在我的 CentOS 机器上 运行 相同的代码时,我得到一个 ECONNREFUSED
错误。这是我的节点代码
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();
});
myuser
和mypass
这里用我实际的用户名和密码代替。
我已经为端口 27015
、27016
和 27017
打开了服务器的防火墙。
Atlas 设置为接受来自任何传入 IP 的连接。
我真的想不出是什么原因造成的...
我不是 100% 确定,但我的连接字符串通常是这样的
mongodb://user:pass@host.app:27017/db_name
我已经弄明白了。它最终成为了 cPanel 防火墙,即使我已经通过 firewall-cmd
打开了端口,我的 cPanel 仍然使用它自己的防火墙绕过该配置。