MONGODB Failed to handshake with DB Mongo::Error::SocketError: EOFError: end of file reached (TLS)

MONGODB Failed to handshake with DB Mongo::Error::SocketError: EOFError: end of file reached (TLS)

我有一个 node.js 应用程序连接到 Mongo 数据库,

我正在使用 mongo URI link 从我的网络应用程序进行连接。

我正在使用 DigitalOcean 并将应用程序部署到 Heroku 以检查我是否设法避免:

握手失败 Mongo 错误

出于某种原因,一切都在本地运行良好,但是当我部署到生产环境时,我在访问生产环境时遇到此错误 URL:

MONGODB Failed to handshake with db-shard-00-02-xyz.mongodb.net:27017: Mongo::Error::SocketError: EOFError: end of file reached (db-shard-00-02-xyz.mongodb.net:27017, TLS)

我的 Heroku 配置文件:

production:
  clients:
    default:
      uri: <%= ENV['MONGODB_URI'] %>
      options:
        connect_timeout: 20

提前致谢。

您可能需要检查您的生产 IP 是否已列入白名单,以便能够连接到您的 Mongo 数据库。

您可以编辑 mongo 配置:

cloud.mongodb.com > Network Access > IP Whitelist

您可以通过向所有人公开来测试这是否是问题所在:

0.0.0.0/0

希望对您有所帮助!

谢谢,@David 很有帮助,

需要视觉解释的朋友我会加个截图: