我有一个连接到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)
我的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
希望有帮助!