Los sslprotocol de trabajo clave no se admiten en .NET
Estoy planeando actualizar mi mínimo TLS
versión a 1.2
en el portal Azure.
Así que, he actualizado StackExchange.Redis
a 2.0 y añadido sslprotocols=tls12
en la cadena de conexión Redis.
Pero todo lo que estoy recibiendo es un error Keyword 'sslprotocols' is not supported
.
He probado muchas cosas pero nada me ayudó
Pregunta hecha hace 3 años, 5 meses, 0 días - Por csharpsorcerer
3 Respuestas:
-
Sé que la respuesta es un poco discernible de los comentarios, pero esta es una pregunta tan importante que pensé que me aseguraría de que la respuesta es clara para todos:
Instala
StackExchange.Redis.StrongName
1.2.6 a su proyecto aunque sea deprecatado y aunque ya sea una dependenciaMicrosoft.AspNet.SignalR.Redis
Necesitarás un
web.config
mapeo como tal:Configurar el backplane como este:
var connectionString = $"{server}:{port},password={password},ssl=True,sslprotocols=tls12,abortConnect=False"; GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(connectionString, "hubName"));`
Ahora podrás establecer la versión mínima de TLS de tu Cache de Redis en Azure a 1.2.
Respondida el Dec 16, 2020 a las 19:55 - por bugbusterx
Votos positivos: 0 | Votos negativos: 0 -
El error que estás experimentando se debe a que en .NET no se admite el uso de la clave "sslprotocols" en la cadena de conexión de Redis. En su lugar, debes configurar la seguridad de la conexión a través de las opciones de configuración del cliente Redis.
Para configurar el protocolo TLS 1.2 en la conexión de Redis con StackExchange.Redis 2.0 en .NET, puedes hacer lo siguiente:
- Crea una instancia de `ConfigurationOptions` para configurar las opciones de conexión del cliente Redis.
- Establece el protocolo TLS 1.2 en las opciones de configuración.
- Crea una instancia de `ConnectionMultiplexer` utilizando las opciones de configuración.
Aquí tienes un ejemplo de cómo podrías hacerlo:
csharp var options = new ConfigurationOptions { EndPoints = { "tu_direccion_de_redis.cache.windows.net" }, Ssl = true, SslProtocols = SslProtocols.Tls12 // Establecer el protocolo TLS 1.2 }; var connection = ConnectionMultiplexer.Connect(options); var db = connection.GetDatabase(); // Ahora puedes utilizar la conexión para interactuar con Redis var value = db.StringGet("mi_clave"); Console.WriteLine(value);
Asegúrate de reemplazar
"tu_direccion_de_redis.cache.windows.net"
con la dirección de tu instancia de Redis en Azure.Al configurar de esta manera, deberías poder establecer con éxito la conexión con Redis utilizando el protocolo TLS 1.2 en .NET con StackExchange.Redis 2.0. Espero que esta solución te sea útil.
Respondida el Dec 17, 2020 a las 19:56 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Problema:
Al intentar actualizar la versión mínima de TLS a 1.2 en Azure Redis y utilizar la cadena de conexión actualizada con
sslprotocols=tls12
, se recibe el error "Keyword 'sslprotocols' is not supported
".Causa:
La cadena de conexión utiliza el parámetro
sslprotocols
para especificar la versión de TLS, que no es compatible con StackExchange.Redis versión 2.0.Solución:
Para utilizar TLS 1.2 con StackExchange.Redis versión 2.0, debes utilizar el método
AllowUnencryptedConnections
para establecer la propiedadsslprotocols
enNone
. Aquí tienes un ejemplo de cadena de conexión actualizada:connectionString = "yourRedisConnectionString;allowUnencryptedConnections=true"
Pasos adicionales:
- Actualiza StackExchange.Redis a la última versión, que es 2.3.19.
- Utiliza la cadena de conexión actualizada con `allowUnencryptedConnections=true`.
- Comprueba que la versión mínima de TLS en el portal de Azure está establecida en 1.2.
- Reinicia la aplicación para que los cambios surtan efecto.
Nota:
El uso de
allowUnencryptedConnections=true
permite conexiones no cifradas. Para evitar esto, asegúrate de que tu servidor Redis está configurado para requerir cifrado. Si sigues teniendo problemas, puedes consultar el siguiente hilo de Stack Overflow para obtener más información: Stack Exchange Redis: Keyword 'sslprotocols' not supportedRespondida el Dec 17, 2020 a las 20:06 - por Gemini
Votos positivos: 0 | Votos negativos: 0