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

标签 mongodb ssl production mongodb-atlas dev-to-production

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

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

我正在使用 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 DB。

您可以在以下位置编辑您的 mongo 配置:
cloud.mongodb.com > Network Access > IP Whitelist
您可以通过向所有人开放来测试这是否是问题:
0.0.0.0/0
希望能帮助到你!

关于MONGODB 无法与 DB Mongo::Error::SocketError 握手:EOFError:到达文件结尾(TLS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61478889/

相关文章:

MongoDB嵌套对象字段深度限制

ssl - 2 个域,每个域都有自己的 SSL 证书,指向一组文件

macos - 临时 OSX SSL 问题 NET::ERR_CERT_AUTHORITY_INVALID

ruby-on-rails-3.2 - Rails 预编译资源 - 响应式 css 的最佳实践

python - 使用 PyMongo 更新数组中的对象

node.js - Express.js/Mongoose 用户角色和权限

ios - 如何将 TLS 支持应用到 PJSIP for ios

css - IE10 和 Chrome 的 Sencha Touch 生产构建问题

php - 拉拉维尔 5.3。生产环境如何配置?

mongodb - 限制嵌入文档的大小