2

我有两台机器:机器 foo ( 10.0.0.1) 正在运行 redis 服务器,机器 bar ( 192.168.0.1) 正在运行通过 jedis 连接到 foo 的 java 应用程序。给 jedis 地址时一切正常10.0.0.1

但是我不信任 foo 和 bar 之间的路由器,redis 不支持 ssl。所以我建立了一个从 bar 到 foo 的 ssh 隧道:user@bar$ ssh -N -f -L localhost:6379:localhost:6379 user@foo

现在,从酒吧,我可以直接在 foo 上或通过隧道成功 telnet到10.0.0.1redis 127.0.0.1使用 jedis,如果我使用127.0.0.1我会得到异常java.net.ConnectException: Connection refused,但 jedis 可以成功连接到10.0.0.1就好了。

如何说服 jedis 使用 ssh 隧道?

4

1 回答 1

2

使用 jedis 的 java 应用程序是一个集群应用程序,我对应用程序的哪个部分正在启动 jedis 感到困惑。一旦我在主控主机而不是从属主机上启动 ssh 隧道,一切都按预期工作。

于 2013-02-25T22:27:10.243 回答