2

私は2台のマシンを持っています:machine foo(10.0.0.1)はredisサーバーを実行しており、machine 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

10.0.0.1これで、barから、直接またはトンネルを介してfooでredisにtelnet接続できます127.0.0.1。jedisを使用する127.0.0.1と、例外java.net.ConnectException: Connection refusedが発生しますが、jedisは正常に接続でき10.0.0.1ます。

どうすればジェダイにsshトンネルを使用するように説得できますか?

4

1 に答える 1

2

jedis を使用している Java アプリはクラスター化されたアプリケーションであり、アプリケーションのどの部分が jedis を起動しているかについて混乱していました。スレーブではなくマスターホストで ssh トンネルを開始すると、すべて期待どおりに機能しました。

于 2013-02-25T22:27:10.243 に答える