将 Elastic Beanstalk 上的 Web 服务器与 MongoDB Atlas 上的数据库服务器连接时出错
Posted
技术标签:
【中文标题】将 Elastic Beanstalk 上的 Web 服务器与 MongoDB Atlas 上的数据库服务器连接时出错【英文标题】:Error connecting web server on Elastic Beanstalk with database server on MongoDB Atlas 【发布时间】:2020-02-07 20:20:58 【问题描述】:我正在尝试将我在 Elastic Beanstalk 上的 Web 服务器与我在 MongoDB Atlas 上的数据库服务器连接起来,但不知何故我收到以下错误
Listening at http://:::3001
Unable to connect to the mongodb instance. Error: MongoNetworkError: failed to connect to server [<server>.mongodb.net:27017] on first connect [MongoNetworkError: connection 5 to <server>.mongodb.net:27017 closed]
at Pool.<anonymous> (/var/app/current/node_modules/mongodb-core/lib/topologies/server.js:431:11)
at Pool.emit (events.js:198:13)
at connect (/var/app/current/node_modules/mongodb-core/lib/connection/pool.js:557:14)
at callback (/var/app/current/node_modules/mongodb-core/lib/connection/connect.js:109:5)
at runCommand (/var/app/current/node_modules/mongodb-core/lib/connection/connect.js:129:7)
at Connection.errorHandler (/var/app/current/node_modules/mongodb-core/lib/connection/connect.js:321:5)
at Object.onceWrapper (events.js:286:20)
at Connection.emit (events.js:198:13)
at TLSSocket.<anonymous> (/var/app/current/node_modules/mongodb-core/lib/connection/connection.js:350:12)
at Object.onceWrapper (events.js:286:20)
at TLSSocket.emit (events.js:198:13)
at _handle.close (net.js:606:12)
at TCP.done (_tls_wrap.js:388:7)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]:
Listening at http://:::3001
(node:11482) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option useUnifiedTopology: true to the MongoClient constructor.
Listening at http://:::3001
我使用猫鼬如下
mongoose.connect('mongodb+srv://<UserName>:<Password>@<cluster>.mongodb.net/test?retryWrites=true&w=majority',
useNewUrlParser: true, useUnifiedTopology: true )
.catch(function (reason)
console.log('Unable to connect to the mongodb instance. Error: ', reason);
);
问题不在 MongoDB Atlas 上的 IP 白名单中,因为我已经通过 ssh 连接到 elastic beanstalk 上的服务器,并从那里直接连接到 Atlas 上的 Mongo 服务器。问题出在代码中,尽管我似乎看不到它。
【问题讨论】:
【参考方案1】:我有同样的问题。将 0.0.0.0/0 添加到您的 IP 白名单。
【讨论】:
以上是关于将 Elastic Beanstalk 上的 Web 服务器与 MongoDB Atlas 上的数据库服务器连接时出错的主要内容,如果未能解决你的问题,请参考以下文章
Elastic Beanstalk 工作层上的 Spring Boot
Elastic Beanstalk 上的 Docker + Django
将 MongoDB 与部署在 Elastic Beanstalk 上的 NodeJS 应用程序一起使用的推荐方法是啥?
将 Elastic Beanstalk 上的 Web 服务器与 MongoDB Atlas 上的数据库服务器连接时出错