Redis
 sql >> Base de données >  >> NoSQL >> Redis

Connexion à Redis géré avec le nom d'utilisateur/mot de passe d'authentification nodejs

Le AUTH commande, comme indiqué dans la documentation :

Lorsque des ACL sont utilisées, la forme à argument unique de la commande, où seul le mot de passe est spécifié, suppose que le nom d'utilisateur implicite est "default".

Ainsi, même si vous utilisez Redis 6, où des utilisateurs supplémentaires sont pris en charge, votre authentification pour default devrait fonctionner.

L'erreur que vous voyez est le résultat d'une connexion interrompue , par exemple. vous avez en quelque sorte perdu la connexion avec le serveur Redis. node-redis traite l'un des deux scénarios (ou les deux) - la connexion a expiré ou les tentatives de reconnexion ont dépassé le nombre maximal spécifié dans une configuration. Je vérifierais vos informations de connexion et la configuration de votre serveur Redis.

Je vois que vous utilisez TLS, cela peut vous être utile :Sécuriser le nœud Redis

Si vous souhaitez authentifier le client node-redis avec un autre utilisateur, lors de l'utilisation de Redis 6, vous devrez utiliser send_command , mais avant de devoir supprimer le AUTH actuel commande, car actuellement node-redis ne prend pas en charge la nouvelle commande AUTH <username> <password> .

client['auth'] = null;
client.send_command('AUTH', ['<username>', '<password>'], redis.print);