Node-redis: node_redis: ADVERTENCIA: ¡Pasó "rediss" como protocolo en lugar del protocolo "redis"!

Creado en 23 abr. 2018  ·  22Comentarios  ·  Fuente: NodeRedis/node-redis

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

esta advertencia se muestra porque rediss: está marcado pero rediss sería correcto - Línea 35

pending-author-input

Comentario más útil

Hola a todos, asumí el cargo de mantenedor principal y ahora tengo todo el acceso requerido 🎉

Pasé los últimos días preparando el maestro para un lanzamiento, y hace unos minutos acabo de publicar v3.0.0 en NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 , que incluye este cambio.

Espere lanzamientos regulares: mi primera prioridad en este momento es hacer que este proyecto sea más amigable para los contribuyentes para garantizar que el proyecto viva y continúe creciendo y no esté bloqueado por el tiempo de ninguna persona en particular. Para hacer esto, me gustaría hacer crecer un conjunto más grande de colaboradores superficiales. Con esto espero mitigar el problema anterior de que el proyecto necesita actualizaciones pero no hay nadie que tenga el poder de hacerlo. Estoy trabajando en lo siguiente en esto;

  • [x] Documentos de contribución y código de conducta
  • [x] Configurar un Colectivo Abierto y una política de gastos de los contribuyentes

    • Notarás el nuevo y brillante botón Sponsor en la parte superior de GitHub, también lo patrociné yo mismo y a través de mi empresa para ayudar a ponerlo en marcha para futuros contribuyentes.

  • WIP: Automatización de versiones y control de versiones semánticas (publicación en NPM, generación de registros de cambios, etc.)
  • [x] Mejorar CI, por ejemplo, Windows CI es súper lento y escamoso en este momento

Después de eso, cambiaré mi atención a la modernización (por ejemplo, promesas) y liquidación de deuda técnica en el código base de Node Redis. @BridgeAR ya ha hecho un montón de cosas para esto, si tiene curiosidad, consulte la rama WIP v4 y su registro de cambios.

Todos 22 comentarios

rediss es simplemente el camino equivocado porque el común lo hace

De hecho, el mensaje debería actualizarse, pero parece que de alguna manera pasaste por un protocolo incorrecto.

¿Puede mostrar lo que pasó a Redis.createClient() como argumentos (reemplazar nombre de usuario/contraseña/URL concretas) y mantener todo exactamente como se pasó a node_redis?

Encontré el mismo problema. Luego me di cuenta de que la confirmación que habilita rediss como protocolo aún no se ha publicado. La última versión, 2.8.0 , aún no tiene este compromiso: https://github.com/NodeRedis/node_redis/commit/5d6e471d0c14df39974000427719c5d85fa4f21f

¿Cuándo es el nuevo lanzamiento? Necesito esta función.

@BridgeAR @stockholmux @Salakar ping amistoso. Tal vez se necesite una nueva versión para esta advertencia.

@Teamop lamentablemente no tengo acceso para publicar nada en npm, solo @BridgeAR puede hacerlo.

Me encontré con este problema. Si miro el repositorio en línea, veo el bloque de declaraciones para rediss.
https://github.com/NodeRedis/node_redis/blob/23ef1e7afadd6022526860d22ac0a7f78495106d/lib/createClient.js#L34

Sin embargo, cuando examino mi carpeta node_modules real, la versión dice que es 2.8, sin embargo, el archivo createClient no tiene ese bloque de declaración rediss. Lo arreglé localmente pegando la declaración rediss if en los módulos de mi nodo local y funcionó. No estoy seguro de cómo la versión distribuida es diferente de lo que se muestra en línea en el repositorio.
image

Lo siento, me acabo de dar cuenta de que 2.8.0 se lanzó en 2017, no en 2018, antes de que se agregara la compatibilidad con TLS a master

@BridgeAR Lo que estamos eliminando para 2.8.0 en realidad no es compatible con TLS (es decir, una URL que comienza con "rediss:"). Ese es el verdadero problema; la advertencia es solo un síntoma. Este es el origen del módulo de nodo: https://registry.npmjs.org/redis/-/redis-2.8.0.tgz Descárguelo y consulte createClient.js. Falta el código TLS

¿Hay algún valor importante en el uso de la compatibilidad con TLS?

Me encantaría tenerlo hoy, nos permitiría hablar con autenticación cifrada AWS ElasticCache

@jasonamyers Tuve más éxito con https://github.com/luin/ioredis en este problema, pero necesita una configuración de clúster de caché, con cifrado en reposo, cifrado de transporte y una contraseña. Las API son similares.

Hola, ¿alguien puede aconsejarme cuando esto se convierta en maestro y se publique? Teniendo este problema y tuve que sobrescribir manualmente createClient.js en node_module. Esta edición lleva abierta más de un año. ¿Podemos eliminar esto y permitir TLS?

Actualmente, esta sección

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!');
}

necesita ser reemplazado 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!');
}

en createClient.js para obtener soporte de rediss:// o puede intentarlo de otra manera, como se muestra a continuación.

var redis = require("redis");
var client = redis.createClient("redis://:password<strong i="13">@host</strong>:port", {tls:{}});

Al pasar tls como objeto vacío, mi cliente redis se conectó sin ningún problema.

@scriptonian esto también debería resolver su problema al evitar la sobrescritura manual en createClient.js

Tenga en cuenta :
Desnúdame si mi estilo de comentario es extraño. Soy nuevo en github. :)

gracias venkatesh, sí, ya había hecho este cambio como coguy450 lo había sugerido en los comentarios. pero me sorprende que el equipo no haya actualizado esto. ¡Ha pasado más de un año!

+1

¿Hay una nueva versión que viene con esta solución?

¿Alguien quiere hacer una solicitud de incorporación de cambios para respaldar la url rediss://?
¿Qué hay de ti @venkatesh-nadar 🙂?

@peterpoliwoda parece que ya está agregado en la rama principal... 👍

Hm... sí, veo que está en el repositorio, pero npm no se instala con la corrección. El número de versión no ha cambiado, por lo que 'npm install' mantiene la compilación anterior, como si tuviera un tarball antiguo en el archivo.
Lo hice funcionar instalando directamente desde Github con
'''
instalación de npm https://github.com/NodeRedis/node_redis
'''

¡Muchas gracias @venkatesh-nadar!

@BridgeAR ¿Podemos obtener un nuevo lanzamiento en npm, por favor?

Me he comunicado varias veces con @BridgeAR solicitando acceso de publicación de npm en los últimos años y no he recibido noticias al respecto, sé que está ocupado con cosas de Node.js, por lo que probablemente se está descuidando este repositorio.

Analicemos el futuro del repositorio en https://github.com/NodeRedis/node_redis/issues/1040#issuecomment -581418899?

Hola a todos, asumí el cargo de mantenedor principal y ahora tengo todo el acceso requerido 🎉

Pasé los últimos días preparando el maestro para un lanzamiento, y hace unos minutos acabo de publicar v3.0.0 en NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 , que incluye este cambio.

Espere lanzamientos regulares: mi primera prioridad en este momento es hacer que este proyecto sea más amigable para los contribuyentes para garantizar que el proyecto viva y continúe creciendo y no esté bloqueado por el tiempo de ninguna persona en particular. Para hacer esto, me gustaría hacer crecer un conjunto más grande de colaboradores superficiales. Con esto espero mitigar el problema anterior de que el proyecto necesita actualizaciones pero no hay nadie que tenga el poder de hacerlo. Estoy trabajando en lo siguiente en esto;

  • [x] Documentos de contribución y código de conducta
  • [x] Configurar un Colectivo Abierto y una política de gastos de los contribuyentes

    • Notarás el nuevo y brillante botón Sponsor en la parte superior de GitHub, también lo patrociné yo mismo y a través de mi empresa para ayudar a ponerlo en marcha para futuros contribuyentes.

  • WIP: Automatización de versiones y control de versiones semánticas (publicación en NPM, generación de registros de cambios, etc.)
  • [x] Mejorar CI, por ejemplo, Windows CI es súper lento y escamoso en este momento

Después de eso, cambiaré mi atención a la modernización (por ejemplo, promesas) y liquidación de deuda técnica en el código base de Node Redis. @BridgeAR ya ha hecho un montón de cosas para esto, si tiene curiosidad, consulte la rama WIP v4 y su registro de cambios.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ghost picture ghost  ·  3Comentarios

michaelwittig picture michaelwittig  ·  3Comentarios

id0Sch picture id0Sch  ·  4Comentarios

adamgajzlerowicz picture adamgajzlerowicz  ·  4Comentarios

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Comentarios