【问题标题】:Error connecting to mongodb Atlas from shared hosting从共享主机连接到 mongodb Atlas 时出错
【发布时间】:2021-09-01 01:58:04
【问题描述】:

我无法从共享主机连接到 mongodb Atlas,据我了解,这是因为端口 27017 被防火墙阻止。
有什么方法可以更改 mongodb Atlas 上的端口号?

这是我的 nodejs 文件中的代码:

 mongoose.connect("mongodb+srv://<username>:<password>@test-nhowr.mongodb.net/test?retryWrites=true&w=majority", {
      useNewUrlParser: true,
      useCreateIndex: true,
    }).then(() => {
      console.log("Connected to DB");
    }).catch(err => {
      console.log('ERROR Connecting to db!: ', err.message);
    });

这是我得到的错误:

连接数据库时出错!:连接服务器失败 [test-shard-00-00-nhowr.mongodb.net:27017] 首次连接 [MongoNetworkError: 连接 ECONNREFUSED 54.172.133.240:27017

【问题讨论】:

  • Atlas 使用白名单访问。确保您的 IP 地址在 Atlas 中列入白名单。如果主机 IP 地址是由网络层转换的,请确保使用 Atlas 看到的 IP 地址。
  • 无法更改 Atlas 使用的端口。如果您当前的主机阻止您连接到 27017,您应该转移到另一个提供商,让您可以灵活地做您需要的事情。

标签: node.js mongodb port mongodb-atlas


【解决方案1】:

请将 和 替换为真实凭据。

如果您不知道如何操作,只需转到左侧菜单中的 atlas 帐户,找到安全 > 数据库访问 > 单击“添加新用户”并创建用户名和密码,然后将其替换为占位符。

【讨论】:

  • 我的应用中有正确的用户名和密码。当我在这里发帖时,我只是将其更改为私密。我设法使用完全相同的代码从 aws cloud9 登录,但端口 27017 被防火墙阻止。我只想知道如何更改端口,而不是默认端口 27017。谢谢!
【解决方案2】:

根据我的经验,大多数共享主机平台都不会打开这个端口。他们希望您升级到 VPS 或更昂贵的托管选项。

我使用的是 Godaddy 共享主机,无法连接到 mongodb Atlas。端口 27017 未打开,阻止连接。我联系了 Godaddy 的技术支持,他们不会打开这个端口,因此你将无法连接。如果托管平台不开放 27017 端口,您最终做什么都没关系。

【讨论】:

    猜你喜欢
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 2018-09-28
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多