Node-redis: node_redis: AVISO: Você passou "rediss" como protocolo em vez do protocolo "redis"!

Criado em 23 abr. 2018  ·  22Comentários  ·  Fonte: NodeRedis/node-redis

node_redis: WARNING: You passed "rediss" as protocol instead of the "redis" protocol!

este aviso é exibido porque rediss: está marcado, mas rediss estaria correto - Linha 35

pending-author-input

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;

  • [x] Contribuição de documentos e Código de Conduta
  • [x] Configurar um Open Collective e uma política de despesas de contribuidores

    • Você notará o novo e brilhante botão 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 colaboradores

  • WIP: Automação de lançamento e versionamento semântico (publicação no NPM, geração de changelogs, etc)
  • [x] Melhore a CI, por exemplo, a CI do Windows é super lenta e lenta no momento

Depois 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.

Todos 22 comentários

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.
image

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

@BridgeAR O que estamos puxando para baixo para 2.8.0 não suporta TLS (ou seja, um URL começando com "rediss:"). Esse é o verdadeiro problema; o aviso é apenas um sintoma. Veja de onde veio o módulo de nó: https://registry.npmjs.org/redis/-/redis-2.8.0.tgz Faça o download e veja createClient.js. O código TLS está ausente

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;

  • [x] Contribuição de documentos e Código de Conduta
  • [x] Configurar um Open Collective e uma política de despesas de contribuidores

    • Você notará o novo e brilhante botão 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 colaboradores

  • WIP: Automação de lançamento e versionamento semântico (publicação no NPM, geração de changelogs, etc)
  • [x] Melhore a CI, por exemplo, a CI do Windows é super lenta e lenta no momento

Depois 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.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

yuany picture yuany  ·  4Comentários

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Comentários

id0Sch picture id0Sch  ·  4Comentários

juriansluiman picture juriansluiman  ·  3Comentários

betimer picture betimer  ·  5Comentários