在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数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用代理后面的猫鼬连接到 MongoDB 数据库

使用代理后面的猫鼬连接到 MongoDB 数据库

使用代理后面的猫鼬连接到 MongoDB 数据库

使用隧道 ssh 通过 nodeJS 中的 mongoose 通过 ssh 连接到远程服务器 mongoDB

连接到 api nodeJS 和 mongoDB

使用 Nodejs Restful API 将 android 应用程序连接到本地 mongoDB 数据库并将数据存储在 Mongodb 中(通过 WiFi)