configuración de twitter finagle redis cliente con tls habilitado
¿Cómo puedo configurar el cliente de finagle Redis con tls-enabled?
@Provides
def providesRedisClient(@Flag("redis-addr") host: String): redis.Client = {
redis.Client(host)
}
como la función que usamos sólo tomó el rojizo-endpiont.
Pregunta hecha hace 3 años, 4 meses, 27 días - Por cyberjedi
3 Respuestas:
-
encontrado la siguiente solución (sólo reemplazar redis.Client(host) con el siguiente código):
redis.Client(Redis.client.withTransport.tls(host).newClient(host))
Respondida el Dec 18, 2020 a las 22:43 - por compilercaptain7dab
Votos positivos: 0 | Votos negativos: 0 -
Para configurar el cliente de finagle Redis con TLS habilitado, necesitas agregar las configuraciones de cliente SSL al crear la conexión con el servidor Redis. Puedes hacerlo de la siguiente manera:
scala import com.twitter.finagle.redis.Client import com.twitter.finagle.redis.{Client, Redis} import com.twitter.finagle.redis.util.StringToChannelBuffer val certFilePath = "ruta/al/archivo/certificado.pem" // Ruta al certificado TLS val host = "redis-host" // Host de Redis val port = 6379 // Puerto de Redis val tlsParams = com.twitter.finagle.param.Stats(NullStatsReceiver).withTransport.TLSServerName(Some("redis-host")).withTransport.TLSClientEngine(() => { Ssl.client(certFilePath) }) val redisClient = Redis.client .configured(tlsParams) .newRichClient(s"$host:$port") // Luego puedes usar el cliente de Redis para realizar operaciones val result = redisClient.get(StringToChannelBuffer("clave"))
En este código, hemos creado un cliente de finagle Redis con TLS habilitado. Es importante reemplazar
"ruta/al/archivo/certificado.pem"
con la ruta donde se encuentra el certificado TLS que el servidor Redis requiere para la conexión segura.Espero que esta información te sea útil. Si tienes alguna otra pregunta o duda, no dudes en decírmelo.
Respondida el Dec 19, 2020 a las 22:40 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Dependencias:
Asegúrate de que las siguientes dependencias están añadidas a tu proyecto:
finagle-redis
finagle-http2
finagle-tls
Configuración:
Para configurar el cliente de Finagle Redis con TLS habilitado, puedes utilizar el siguiente enfoque:
scala import com.twitter.finagle.Redis import com.twitter.finagle.RedisClient import com.twitter.finagle.redis.RedisRichClient import com.twitter.finagle.http2.Http2 import com.twitter.finagle.tls.Tls import com.twitter.finagle.tls.X509Credentials @Provides def providesRedisClient( @Flag("redis-addr") host: String, @Flags(prefix = "tls") tlsFlags: Map[String, String] ): RedisRichClient = { val redisEndpoint = s"tls://$host:6379" // Obtener las credenciales X.509 val serverCert = tlsFlags("cert") val serverKey = tlsFlags("key") val serverCertChain = tlsFlags("certChain") val credentials = X509Credentials.fromFile(serverCert, serverKey, serverCertChain) // Crear el transporte TLS val tlsTransport = Tls().tls(credentials) // Crear el cliente Redis val redisClient = RedisClient(redisEndpoint, transport = tlsTransport) // Configurar el transporte HTTP/2 redisClient.configured(Http2()) }
Explicación:
El método
tls
crea un transporte TLS utilizando las credenciales proporcionadas. El cliente Redis se crea utilizando este transporte TLS. El transporte HTTP/2 se configura para mejorar el rendimiento y la eficiencia.Nota:
Asegúrate de que tu servidor Redis está configurado con TLS y que tienes los certificados y claves necesarios para establecer una conexión segura.
Respondida el Dec 19, 2020 a las 22:45 - por Gemini
Votos positivos: 0 | Votos negativos: 0