Estuve luchando con la conexión remota a Redis durante algunos días. Finalmente lo logré. Aquí está la lista de verificación completa que preparé para seguir para conectarme. Algunas de las soluciones se dan en las respuestas anteriores. Sin embargo, quería que mi respuesta fuera un nano-wiki sobre el tema :) También agregué algunos enlaces útiles.
Si redis funciona localmente:
$ redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379>
Si la contraseña no está configurada
Consulte /etc/redis/redis.conf
config (esta es la ubicación predeterminada para Ubuntu 18.04, puede tenerla en una ubicación diferente):
# The following line should be commented
# requirepass <some pass if any>
Si el modo protegido se establece en 'no' en la configuración:
# The following line should be uncommented
protected-mode no
Si el enlace IP está abierto para acceder desde Internet en la configuración:
# The following line should be commented
# bind 127.0.0.1 ::1
Si el firewall de Linux permite conexiones
(aquí para Ubuntu 18.04) Verifique que permita que el tráfico entrante de Internet vaya al puerto 6379
(el puerto predeterminado de Redis)
# To check if it the port is open
$ sudo ufw status
Status: active
To Action From
-- ------ ----
...
6379/tcp ALLOW Anywhere
6379/tcp (v6) ALLOW Anywhere (v6)
...
# To open the port
$ sudo ufw allow 6379/tcp
Reiniciar el servicio Redis
No olvide reiniciar el servicio Redis para que los cambios surtan efecto y ver que se está ejecutando:
$ sudo systemctl restart redis.service
$ sudo systemctl status redis
Comprueba si funciona como un servidor remoto
desde su línea de comando use redis-cli
como si el servidor Redis estuviera en el servidor remoto:
$ redis-cli -h <your-server-ip>
<your-server-ip>:6379> ping
PONG
<your-server-ip>:6379> exit
$
Si puede hacer ping-PONG a su servidor Redis a través de su servidor de Internet conectado como un servidor remoto, entonces la conexión remota de Redis funciona.
Advertencia de seguridad
Todo lo anterior hace que sus datos de Redis estén completamente abiertos para cualquier persona desde Internet.
Para asegurar básicamente el uso requirepass
y la protected-mode yes
configuración de Redis en la configuración de Redis (ver arriba) y bloquear los peligrosos comandos de Redis (ver el enlace de arriba), para una comprensión más profunda, vea este artículo y la sección de seguridad del sitio de Redis ).
Enlaces útiles
Algunos enlaces para ayudar Cómo instalar y asegurar Redis en Ubuntu 18.04 y cómo configurar el firewall de Ubuntu 18.04 .
Espero eso ayude.
redis-cli -h hostname