我正在尝试将隧道连接到我的EC2实例,以便我可以使用Rock Mongo作为我的dB客户端
我在AWS上测试了mongodb
它似乎工作正常,现在如果我只能使用客户端进行连接。
以下是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.
问题这是正确的解决方法,还是应该使用其他方法?
这是修复,任何人都有类似的问题
rockmongo的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";
答案 0 :(得分:1)
我对Tunnelier不熟悉,但看起来您正在配置HTTP代理而不是实际的SSH端口转发。这些在Tunnelier feature list中有所区别。以下文章还有一些Tunnelier界面的截图,其中有注释可能指向正确的方向:
我相信C2S或S2C标签是您应该关注的内容。
此外,您在RockMongo的配置中指定127.0.0.1:3000
作为主机名,然后还提供27018
作为端口。 RockMongo会将这些选项连接到Mongo的连接字符串中,这不是你想要的。如果您正在设置SSH端口转发,则您的主机和端口可能会指向您的本地主机。 Mongo在AWS中运行的端口是无关紧要的,因为您在AWS之外的客户端只关心它自己的SSH隧道。