Por defecto, Redis no acepta conexiones externas, incluso si son conexiones desde una subred propia como contenedores de Docker. Para evitar esta limitación, se puede ampliar el bind de Redis para escuchar otras IPs y aplicar autenticación para esta forma de conexión.
Para los siguientes cambios, puedes editar el archivo redis.conf usando:
sudo nano /etc/redis/redis.conf
Ejemplo de binds que puedes usar:
bind 127.0.0.1 -::1 - Permite solo conexiones localhost en IPv4 e IPv6bind 127.0.0.1 -::1 172.17.0.1 - Permite conexiones localhost en IPv4 e IPv6, y la IP por defecto de Dockerbind * -::* - Permite que TODOS los IPs se conecten a Redis
Independientemente del bind, Redis permite que las conexiones localhost no requieran autenticación, pero las conexiones desde IPs diferentes, incluso una IP local como la de Docker, requieren autenticación. Para evitar esto, es necesario desactivar el protected-mode, definiendo la línea de esta forma:
protected-mode no
Para aplicar los cambios, ejecuta:
sudo systemctl restart redis-server
Para monitorear en tiempo real las consultas enviadas a Redis, ejecuta:
sudo redis-cli monitor