我有两台机器:机器 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.1
redis 127.0.0.1
使用 jedis,如果我使用127.0.0.1
我会得到异常java.net.ConnectException: Connection refused
,但 jedis 可以成功连接到10.0.0.1
就好了。
如何说服 jedis 使用 ssh 隧道?