Sin Endpoint de Health Check
Sin un endpoint /health, los load balancers y orquestadores no pueden verificar que tu aplicación realmente funciona antes de enrutar tráfico hacia ella.
Cómo Funciona
Los orquestadores (Kubernetes, ECS, Railway) usan endpoints de health check para determinar si un contenedor está listo para recibir tráfico. Sin uno, un contenedor recién deployado que no pudo conectarse a la base de datos recibe tráfico real inmediatamente, retornando errores a usuarios reales.
// MAL: sin endpoint de health check — el orquestador no puede verificar el estado de la app
// Sin ruta /health definida en ningún lugar de la app
// El load balancer verifica que el puerto 3000 está abierto — pero la app puede estar rota internamente// BIEN: endpoint /health que verifica dependencias reales de la aplicación
app.get('/health', async (req, res) => {
try {
await db.raw('SELECT 1'); // verifica la conexión a la base de datos
res.json({ status: 'ok', version: process.env.APP_VERSION });
} catch (err) {
res.status(503).json({ status: 'error', message: 'Base de datos no disponible' });
}
});Ejemplo Real
Un patrón común de fallo de deployment: nueva versión deployada con una migración de base de datos rota, el health check nunca lo detecta porque no existe ninguno, y el 100% de los usuarios golpea la versión rota durante varios minutos antes de que alguien haga rollback manualmente.
Cómo Prevenirlo
- Implementa un endpoint GET /health en cada servicio
- Haz que el endpoint de health verifique dependencias reales — conectividad a base de datos, disponibilidad de caché
- Retorna HTTP 200 para saludable, HTTP 503 para no saludable — eso es lo que esperan los load balancers
- Mantén el endpoint de health liviano y exclúyelo de autenticación y rate limiting
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
NODE_ENV No Configurado como Production
mediumCorrer Node.js sin NODE_ENV=production habilita mensajes de error detallados, deshabilita optimizaciones de caché y puede activar middleware solo para desarrollo.
Modo Debug Activo en Producción
mediumEl modo debug habilitado en producción expone estado interno, habilita logging detallado y a veces activa endpoints de debugging interactivos que los atacantes pueden explotar.
Sin Monitoreo de Errores
lowSin monitoreo de errores, los errores de producción son invisibles hasta que un usuario los reporta — lo cual la mayoría nunca hace.
Variables de Entorno de Dev en Producción
highUsar credenciales de desarrollo (API keys de prueba, URLs de base de datos local, keys de pago sandbox) en producción pone en riesgo a usuarios reales.