Causas comunes del error con Lettuce y Azure Entra ID
Puerto incorrecto (10000)
Azure Cache for Redis usa por defecto el puerto 6379 para conexiones estándar.
El puerto `10000` no es válido para Redis, a menos que estés usando una configuración personalizada (como Redis Enterprise con TLS).
**Endpoint mal resuelto (**`<unresolved>`**)**
Puede deberse a:
DNS mal configurado.
Endpoint incorrecto en el código.
Falta de acceso a red privada o reglas de firewall.
**Autenticación con Azure Entra ID**
Para usar **principio de servicio (Service Principal)** con Lettuce, necesitas el paquete `redis-authx-entraid` y configurar correctamente el token de acceso.
Pasos para conectar correctamente con Lettuce y Azure Entra ID
1. Usa el puerto correcto
java
RedisURI redisUri = RedisURI.create("rediss://<redis-instance>.redis.cache.windows.net:6380");
Usa rediss:// si estás usando TLS (recomendado).
Asegúrate de que el nombre del host esté bien escrito.
2. Agrega dependencia para Entra ID
xml
<dependency>
<groupId>redis.clients.authentication</groupId>
<artifactId>redis-authx-entraid</artifactId>
<version>0.1.1-beta1</version>
</dependency>
3. Autenticación con Service Principal
java
RedisCredentialsProvider provider = RedisAuthxEntraId.builder()
.clientId("<your-client-id>")
.clientSecret("<your-client-secret>")
.tenantId("<your-tenant-id>")
.build();
RedisClient client = RedisClient.create(redisUri);
StatefulRedisConnection<String, String> connection = client.connect();
4. Verifica conectividad
Usa redis-cli o psping para probar acceso al endpoint desde tu máquina.
Revisa reglas de firewall, red virtual y configuración de acceso privado si aplica.
Recursos útiles
Guía oficial de conexión con Lettuce y Entra ID
Solución de problemas de conectividad en Azure Redis
- Pregunta original en Microsoft Q&A
Causas comunes del error con Lettuce y Azure Entra ID
- Puerto incorrecto (
10000)
- Azure Cache for Redis usa por defecto el puerto 6379 para conexiones estándar.
- El puerto
10000 no es válido para Redis, a menos que estés usando una configuración personalizada (como Redis Enterprise con TLS).
- Endpoint mal resuelto (
<unresolved>)
- Puede deberse a:
- DNS mal configurado.
- Endpoint incorrecto en el código.
- Falta de acceso a red privada o reglas de firewall.
- Autenticación con Azure Entra ID
- Para usar principio de servicio (Service Principal) con Lettuce, necesitas el paquete
redis-authx-entraid y configurar correctamente el token de acceso.
Pasos para conectar correctamente con Lettuce y Azure Entra ID
1. Usa el puerto correcto
java
RedisURI redisUri = RedisURI.create("rediss://<redis-instance>.redis.cache.windows.net:6380");
- Usa
rediss:// si estás usando TLS (recomendado).
- Asegúrate de que el nombre del host esté bien escrito.
2. Agrega dependencia para Entra ID
xml
<dependency>
<groupId>redis.clients.authentication</groupId>
<artifactId>redis-authx-entraid</artifactId>
<version>0.1.1-beta1</version>
</dependency>
#### 3. **Autenticación con Service Principal**
java
```php
RedisCredentialsProvider provider = RedisAuthxEntraId.builder()
.clientId("<your-client-id>")
.clientSecret("<your-client-secret>")
.tenantId("<your-tenant-id>")
.build();
RedisClient client = RedisClient.create(redisUri);
StatefulRedisConnection<String, String> connection = client.connect();
4. Verifica conectividad
- Usa
redis-cli o psping para probar acceso al endpoint desde tu máquina.
- Revisa reglas de firewall, red virtual y configuración de acceso privado si aplica.
Recursos útiles
- Guía oficial de conexión con Lettuce y Entra ID
- Solución de problemas de conectividad en Azure Redis
- Pregunta original en Microsoft Q&A