MONGODB 无法与 DB Mongo::Error::SocketError: EOFError: 到达文件结尾 (TLS) 握手

4 ssl production mongodb dev-to-production mongodb-atlas

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

我正在使用 mongo URI 链接从我的 Web 应用程序进行连接。

我正在使用 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)
Run Code Online (Sandbox Code Playgroud)

我的 Heroku 配置文件:

production:
  clients:
    default:
      uri: <%= ENV['MONGODB_URI'] %>
      options:
        connect_timeout: 20
Run Code Online (Sandbox Code Playgroud)

提前致谢。

Dav*_*han 5

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

您可以编辑 mongo 配置:

cloud.mongodb.com > Network Access > IP Whitelist

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

0.0.0.0/0

希望能帮助到你!