Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Conectando-se ao redis gerenciado com nodejs de nome de usuário/senha de autenticação


O AUTH comando, conforme declarado nos documentos:

Quando ACLs são usadas, a forma de argumento único do comando, onde apenas a senha é especificada, assume que o nome de usuário implícito é "padrão".

Portanto, mesmo se você estiver usando o Redis 6, onde há suporte para usuários adicionais, sua autenticação para default Deveria trabalhar.

O erro que você está vendo é o resultado de uma conexão interrompida , por exemplo. você de alguma forma perdeu a conexão com o servidor Redis. node-redis está lidando com um dos dois cenários (ou ambos) - a conexão expirou ou as tentativas de reconexão excederam o número máximo especificado em uma configuração. Eu verificaria suas informações de conexão e como seu servidor redis está configurado.

Vejo que você está usando TLS, isso pode ser útil:Protegendo o Node Redis

Se você quiser autenticar o cliente node-redis com um usuário diferente, ao usar o Redis 6, você terá que usar send_command , mas antes você precisa remover o AUTH atual comando, pois atualmente node-redis não suporta o novo comando AUTH <username> <password> .
client['auth'] = null;
client.send_command('AUTH', ['<username>', '<password>'], redis.print);