У меня есть две машины: на машине foo (10.0.0.1
) работает сервер Redis, а на машине bar (192.168.0.1
) запущено java-приложение, подключающееся к foo через jedis. Все работает нормально, когда джедай получает адрес 10.0.0.1
.
Но я не доверяю маршрутизаторам между foo и bar, а Redis не поддерживает ssl. Итак, я настроил ssh-туннель от bar до foo: user@bar$ ssh -N -f -L localhost:6379:localhost:6379 user@foo
Теперь из бара я могу успешно подключиться по телнету к redis на foo либо напрямую в 10.0.0.1
, либо через туннель в 127.0.0.1
. С джедаями, если я использую 127.0.0.1
, я получаю исключение java.net.ConnectException: Connection refused
, но джедаи могут успешно подключиться к 10.0.0.1
.
Как я могу убедить джедаев использовать ssh-туннель?
ssh -N -f -L *:6379:10.0.0.1:6379 user@foo
. Похоже, это не имеет никакого значения, что неудивительно, поскольку я подтвердил, что ssh-туннель работает с telnet. - person Jesusaur   schedule 26.02.2013