rediss é apenas o caminho errado porque o commond faz
A mensagem deve realmente ser atualizada, mas parece que você de alguma forma passou por um protocolo errado.
Você pode mostrar o que você passou para Redis.createClient()
como argumentos (substituir nome de usuário / senha / URLs concretos) e manter tudo exatamente como foi passado para node_redis?
Eu encontrei o mesmo problema. Então percebi que o commit habilitando rediss
como protocolo ainda não foi liberado. A versão mais recente, 2.8.0
, ainda não possui este commit: https://github.com/NodeRedis/node_redis/commit/5d6e471d0c14df39974000427719c5d85fa4f21f
Quando é o novo lançamento? Eu preciso desse recurso.
@BridgeAR @stockholmux @Salakar ping amigável. Talvez seja necessária uma nova versão para este aviso.
@Teamop infelizmente não tenho acesso para publicar nada no npm - apenas @BridgeAR pode.
Eu me deparei com esta questão. Se olhar para o repositório online, vejo o bloco de instruções para rediss.
https://github.com/NodeRedis/node_redis/blob/23ef1e7afadd6022526860d22ac0a7f78495106d/lib/createClient.js#L34
No entanto, quando examino minha pasta node_modules real, a versão diz que é 2.8, no entanto, o arquivo createClient não possui esse bloco de instrução rediss. Corrigi localmente colando a instrução rediss if em meus módulos de nó local e isso funcionou. Não tenho certeza de como a versão distribuída é diferente do que é mostrado online no repositório.
Desculpe, acabei de perceber que o 2.8.0 foi lançado em 2017, não em 2018, antes que o suporte TLS fosse adicionado ao master
Existe algum valor importante em usar o suporte TLS?
Eu adoraria tê-lo hoje, nos permitiria falar com autenticação criptografada AWS ElasticCache
@jasonamyers Tive mais sucesso com https://github.com/luin/ioredis nesta questão - mas você precisa de uma configuração de cluster de cache, com criptografia em repouso, criptografia de transporte e uma senha. As APIs são semelhantes.
Olá, alguém pode aconselhar quando isso está indo para o master e sendo lançado? Tendo esse problema e tive que substituir manualmente createClient.js em node_module. Esta edição está aberta há mais de um ano. Podemos empurrar isso para fora e permitir o TLS?
Atualmente, esta seção
if (parsed.protocol && parsed.protocol !== 'redis:') {
console.warn('node_redis: WARNING: You passed "' + parsed.protocol.substring(0, parsed.protocol.length - 1) + '" as protocol instead of the "redis" protocol!');
}
precisam ser substituídos por
if (parsed.protocol === 'rediss:') {
options.tls = options.tls || {};
} else if (parsed.protocol !== 'redis:') {
console.warn('node_redis: WARNING: You passed "' + parsed.protocol.substring(0, parsed.protocol.length - 1) + '" as protocol instead of the "redis" protocol!');
}
em createClient.js para obter suporte rediss:// ou você pode tentar outra maneira, como mostrado abaixo.
var redis = require("redis");
var client = redis.createClient("redis://:password<strong i="13">@host</strong>:port", {tls:{}});
Ao passar tls como objeto vazio, meu cliente redis foi conectado sem nenhum problema.
@scriptonian isso também deve resolver seu problema, evitando a substituição manual em createClient.js
Observe :
Desnude-me se meu estilo de comentário é estranho. Sou novo no github. :)
obrigado venkatesh, sim, eu já havia feito essa alteração, pois coguy450 havia sugerido nos comentários. mas estou surpreso que a equipe não tenha atualizado isso. Já faz mais de um ano!
+1
existe uma nova versão com essa correção?
Alguém quer fazer um pull request para dar suporte ao rediss:// url?
E você @venkatesh-nadar 🙂 ?
@peterpoliwoda parece que já foi adicionado no branch master... 👍
Hm... sim, vejo que está no repositório, mas o npm não instala com a correção. O número da versão não mudou, então 'npm install' mantém a compilação antiga, como se tivesse um tarball antigo no arquivo.
Eu consegui funcionar instalando diretamente do Github com
'''
npm install https://github.com/NodeRedis/node_redis
'''
Muito obrigado @venkatesh-nadar!
@BridgeAR Podemos obter uma nova versão em npm, por favor?
Entrei em contato várias vezes com @BridgeAR solicitando acesso de publicação npm nos últimos anos e não ouvi de volta, sei que ele está ocupado com coisas do Node.js, e é provavelmente por isso que esse repositório está sendo negligenciado.
Vamos discutir o futuro do repo em https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899?
Olá a todos, assumi o cargo de mantenedor principal e tenho todo o acesso necessário agora 🎉
Passei os últimos dias preparando o master para um lançamento e, há alguns minutos, acabei de publicar a v3.0.0 no NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - que inclui essa alteração.
Espere lançamentos regulares - minha primeira prioridade no momento é tornar este projeto mais amigável para os contribuidores para garantir que o projeto viva e continue a crescer e não seja bloqueado pelo tempo de nenhuma pessoa singular. Para fazer isso, gostaria de aumentar um conjunto maior de contribuidores superficiais. Com isso espero mitigar o problema anterior do projeto precisar de atualizações mas não havendo ninguém que tenha o poder de fazê-lo. Estou trabalhando com o seguinte sobre isso;
Sponsor
na parte superior do GitHub, eu também fui em frente e patrocinei por mim mesmo e por meio da minha empresa para ajudar a iniciá-lo para futuros colaboradoresDepois disso, estarei mudando minha atenção para modernizar (por exemplo, promessas) e limpar a dívida técnica na base de código do Node Redis. @BridgeAR já fez um monte de coisas para isso, se você estiver curioso, confira o branch WIP v4 e seu changelog.
Comentários muito úteis
Olá a todos, assumi o cargo de mantenedor principal e tenho todo o acesso necessário agora 🎉
Passei os últimos dias preparando o master para um lançamento e, há alguns minutos, acabei de publicar a v3.0.0 no NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 - que inclui essa alteração.
Espere lançamentos regulares - minha primeira prioridade no momento é tornar este projeto mais amigável para os contribuidores para garantir que o projeto viva e continue a crescer e não seja bloqueado pelo tempo de nenhuma pessoa singular. Para fazer isso, gostaria de aumentar um conjunto maior de contribuidores superficiais. Com isso espero mitigar o problema anterior do projeto precisar de atualizações mas não havendo ninguém que tenha o poder de fazê-lo. Estou trabalhando com o seguinte sobre isso;
Sponsor
na parte superior do GitHub, eu também fui em frente e patrocinei por mim mesmo e por meio da minha empresa para ajudar a iniciá-lo para futuros colaboradoresDepois disso, estarei mudando minha atenção para modernizar (por exemplo, promessas) e limpar a dívida técnica na base de código do Node Redis. @BridgeAR já fez um monte de coisas para isso, se você estiver curioso, confira o branch WIP v4 e seu changelog.