0

我正在尝试通过 SSH 隧道连接到我的 EC2 实例,以便可以使用 Rock Mongo 作为我的 dB 客户端。
我已经mongodb在 AWS 上进行了测试,它似乎工作正常,现在如果我只能使用客户端进行连接。

这是我的设置Tunnelier 在此处输入图像描述

摘自 Rock Mongo 的config.php

$MONGO["servers"][$i]["mongo_name"] = "AWS";
$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1:3000";
$MONGO["servers"][$i]["mongo_port"] = "27018";
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";
$i ++;

并从我的 EC2 实例的命令行执行

mongod --port 27018


但是连接没有发生,我收到一条错误消息

Unable to connect MongoDB, please check your configurations. MongoDB said:failed to get host from :27018 of 127.0.0.1:3000:27018.

问题这是正确的方法还是我应该使用不同的方法?



这是解决方法,以防有人遇到类似问题 在此处输入图像描述

罗克蒙戈的config.php

$MONGO["servers"][$i]["mongo_name"] = "AWS";
$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";
$MONGO["servers"][$i]["mongo_port"] = "3306";
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";
4

1 回答 1

1

我对 Tunnelier 不熟悉,但看起来您正在配置 HTTP 代理而不是实际的 SSH 端口转发。这些在Tunnelier 功能列表中有所区别。以下文章还包含一些 Tunnelier 界面的屏幕截图以及可能为您指明正确方向的评论:

我相信 C2S 或 S2C 选项卡是您应该研究的。

此外,您127.0.0.1:3000在 RockMongo 的配置中指定为主机名,然后还提供27018为端口。RockMongo 会将这些选项连接到 Mongo 的连接字符串中,这不是您想要的。如果您正在设置 SSH 端口转发,您的主机和端口可能会指向您的本地主机。Mongo 在 AWS 中运行的端口是无关紧要的,因为您在 AWS 之外的客户端只关心它自己的 SSH 隧道端。

于 2012-08-29T18:44:40.497 回答