我在我的机器上本地托管了一个 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: 由于目标机器主动拒绝,无法建立连接。
// Works fine
MongoClient client = new MongoClient("mongodb://admin:admin@localhost:27017/testDb");
// Fails:
MongoClient client = new MongoClient("mongodb://admin:admin@5e825c82.ngrok.io/testDb");
Run Code Online (Sandbox Code Playgroud)
我想知道如何使用 ngrok 建立到 MongoDb 的连接。