Не удается подключиться к Redis с помощью джедаев

Версия Redis: 3.2.0 Версия Jedis: 2.8.1

Ниже мой код Java для подключения к Redis:

public class TestRedis {
public static void main(String[] args) {
    String host = args[0];
    int port = Integer.parseInt(args[1]);
    try (Jedis jedis = new Jedis(host, port)) {
        System.out.println("Connected to jedis " + jedis.ping());
    } catch(Exception e){
        e.printStackTrace();
    }
}

}

Я запускаю эту программу на машине, где установлен Redis. IP-адрес этой машины 192.168.1.57

Если я укажу host = "localhost" и port = "6379" в качестве аргументов, соединение с redis успешно установлено.

Однако если в аргументах указать host = "192.168.1.57" и port = "6379", я получу следующее исключение:

redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused
    at redis.clients.jedis.Connection.connect(Connection.java:164)
    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:80)
    at redis.clients.jedis.Connection.sendCommand(Connection.java:100)
    at redis.clients.jedis.Connection.sendCommand(Connection.java:95)
    at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:93)
    at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:105)
    at TestRedis.main(TestRedis.java:14)
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at redis.clients.jedis.Connection.connect(Connection.java:158)
    ... 6 more

Пожалуйста помоги...

Ответы на вопрос(1)

Есть несколько настроек, которые могут повлиять на это:привязывать а такжезащищенный режим, Они работают вместе, чтобы обеспечить базовый уровень безопасности при новых установках.

Найдите следующее в вашемredis.conf подать и закомментировать это:

bind 127.0.0.1

Добавляя# перед ней:

# bind 127.0.0.1

Или, если вы не хотите комментировать это, вы также можете добавить IP, если вашeth0/em1 интерфейс к нему, как это:

bind 127.0.0.1 192.168.1.57

Кроме того, если вы не используете защиту паролем, вам также придется отключить защищенный режим, изменив:

protected-mode yes

Для того, чтобы:

protected-mode no

Обязательно ознакомьтесь с соответствующей документацией и поймите последствия этих изменений для безопасности.

После внесения этих изменений перезапустите Redis.

 adv02 дек. 2016 г., 07:15
Я реализовал все эти предложения безрезультатно.

Ваш ответ на вопрос