使用 ngrok 建立隧道 mongodb
Tunneling mongodb using ngrok
我有一个 MongoDb 本地托管在我的机器上,并在端口 localhost:27017 中成功运行。该数据库有一个用户名和密码以及一个名为 "testDb" 的集合。在代码中,我能够使用本地主机成功访问数据库。
我正在尝试使用 ngrok 从远程桌面访问此 MongoDb。我实施了端口转发,命令提示符中显示了以下响应。
转发https://5e825c82.ngrok.io -> http://localhost:27017
我也试过更改端口=>
转发https://5e825c82.ngrok.io -> http://localhost:28017
两个端口都失败并显示以下错误消息:
与 http://5e825c82.ngrok.io 的连接已成功连接到您的 ngrok 客户端,但客户端未能建立与本地地址 localhost:28017 的连接。
确保 Web 服务是 localhost:28017 上的 运行 并且它是一个有效地址。
遇到的错误是:dial tcp [::1]:28017: connectex: No connection could be because the target machine actively refused.
// Works fine
MongoClient client = new MongoClient("mongodb://admin:admin@localhost:27017/testDb");
// Fails:
MongoClient client = new MongoClient("mongodb://admin:admin@5e825c82.ngrok.io/testDb");
我想知道如何使用 ngrok 建立到 MongoDb 的连接。
MongoDB 使用 TCP
而不是 HTTP
。
尝试以下命令:
ngrok tcp 27017
(注意 tcp
,而不是 http
,我认为这是您使用的)
当您使用 TCP 时,出于某种原因需要执行几个额外的步骤,当您尝试上述命令时,ngrok 会提示您并告诉您需要执行的操作。
- 在 https://dashboard.ngrok.com/get-started
注册一个 ngrok 帐户
- 运行 本地显示此页面上方框 3 中的命令。连接您的帐户(例如
ngrok authtoken 123ABC456ETC
)
- 现在再次尝试该命令 (
ngrok tcp 27017
)
我有一个 MongoDb 本地托管在我的机器上,并在端口 localhost:27017 中成功运行。该数据库有一个用户名和密码以及一个名为 "testDb" 的集合。在代码中,我能够使用本地主机成功访问数据库。
我正在尝试使用 ngrok 从远程桌面访问此 MongoDb。我实施了端口转发,命令提示符中显示了以下响应。
转发https://5e825c82.ngrok.io -> http://localhost:27017
我也试过更改端口=> 转发https://5e825c82.ngrok.io -> http://localhost:28017
两个端口都失败并显示以下错误消息: 与 http://5e825c82.ngrok.io 的连接已成功连接到您的 ngrok 客户端,但客户端未能建立与本地地址 localhost:28017 的连接。 确保 Web 服务是 localhost:28017 上的 运行 并且它是一个有效地址。 遇到的错误是:dial tcp [::1]:28017: connectex: No connection could be because the target machine actively refused.
// Works fine
MongoClient client = new MongoClient("mongodb://admin:admin@localhost:27017/testDb");
// Fails:
MongoClient client = new MongoClient("mongodb://admin:admin@5e825c82.ngrok.io/testDb");
我想知道如何使用 ngrok 建立到 MongoDb 的连接。
MongoDB 使用 TCP
而不是 HTTP
。
尝试以下命令:
ngrok tcp 27017
(注意 tcp
,而不是 http
,我认为这是您使用的)
当您使用 TCP 时,出于某种原因需要执行几个额外的步骤,当您尝试上述命令时,ngrok 会提示您并告诉您需要执行的操作。
- 在 https://dashboard.ngrok.com/get-started 注册一个 ngrok 帐户
- 运行 本地显示此页面上方框 3 中的命令。连接您的帐户(例如
ngrok authtoken 123ABC456ETC
)
- 现在再次尝试该命令 (
ngrok tcp 27017
)