在nodejs中的代理后面连接到mongodb数据库
Posted
技术标签:
【中文标题】在nodejs中的代理后面连接到mongodb数据库【英文标题】:Connecting to mongodb database behind a proxy in nodejs 【发布时间】:2018-07-22 10:52:53 【问题描述】:我有一个特定于客户端的 mongodb 数据库。我们有一个基于 node js 的 Web 应用程序,它托管在 bluemix 上。我需要在此 Web 应用程序和我的客户端特定 mongodb 之间建立连接。
我认为我们需要两件事:
1) 在我推送到 bluemix 的代码中添加了客户端代理详细信息
2) mongodb和webapp之间建立的防火墙隧道。
我需要关于如何为函数提供代理选项的帮助:mongoclient.connect()。网络搜索没有帮助。我在 nodejs 中使用 mongodb 包。
类似的问题已经被问过但没有得到回答。
Using mongoose and mlab behind a proxy
Connect to MongoDB database using mongoose behind a proxy
【问题讨论】:
请考虑我的代理客户端解决方案here 对我有用。 请考虑我的代理客户端解决方案here 对我有用。 @davejlin 你的答案是桌面连接,这超出了范围。 【参考方案1】:我遇到了同样的错误并使用global-tunnel npm package 解决了它。
正如您在自述文件中看到的那样,它非常易于使用,只需添加以下代码(使用您的正确信息进行更新)即可:
var globalTunnel = require('global-tunnel');
globalTunnel.initialize(
host: '10.0.0.10',
port: 8080,
sockets: 50 // optional pool size for each http and https
);
希望这会有所帮助,
【讨论】:
嗨,我的问题通过一个非常简单的调整得到了解决。将客户端的域添加到我的 mongodb 主机名为我解决了这个问题。谢谢你的建议 @AnujaParikh 你能详细说明一下吗? (也许对您的问题进行编辑?) @AnujaParikh 你能使用这个模块连接到 mongodb 吗?似乎只与管理端口(28017)有关,与监听27017的mongodb协议无关。请详细说明。以上是关于在nodejs中的代理后面连接到mongodb数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用隧道 ssh 通过 nodeJS 中的 mongoose 通过 ssh 连接到远程服务器 mongoDB
使用 Nodejs Restful API 将 android 应用程序连接到本地 mongoDB 数据库并将数据存储在 Mongodb 中(通过 WiFi)