Cloudflare CDN delante de Vercel: ¿Vale la pena? La guía práctica para hosting gratis
El problema que nadie menciona
Hace poco estaba construyendo una aplicación que recibía tráfico desde toda Europa y América Latina. Vercel es increíble para deployar rápido, pero empecé a notar algo: mis usuarios en Madrid tenían latencia diferente que los de Buenos Aires.
Verel ya tiene CDN incluido. ¿Para qué añadir Cloudflare?
La respuesta no es obvia, y la documentación oficial te lo desaconseja. Pero después de experimentar con varios proyectos, descubrí que hay casos donde vale la pena.
Por qué Vercel desaconseja reverse proxies
Vercel tiene razón en su advertencia. Cuando pones Cloudflare delante de Vercel, introduces:
- **Complejidad innecesaria**: Más capas = más puntos de fallo
- **Headers confusos**: Vercel necesita ciertos headers para funcionar correctamente
- **Caché conflictiva**: Dos sistemas de caché peleando entre sí
- **Debugging más difícil**: ¿De dónde viene el problema? ¿De Cloudflare o de Vercel?
Pero aquí viene lo importante: hay casos donde los beneficios superan los costes.
Cuándo SÍ tiene sentido Cloudflare + Vercel
#### 1. Protección DDoS y seguridad avanzada
Cloudflare ofrece protección DDoS que va más allá de lo que incluye Vercel. Si tu aplicación es un target frecuente (fintech, crypto, servicios públicos), Cloudflare añade una capa de defensa que vale la pena.
En España, si trabajas con datos sensibles o regulados, esta capa extra de seguridad puede ser requisito de compliance.
#### 2. Control granular de caché
Vercel maneja el caché automáticamente, lo cual es genial. Pero a veces necesitas control quirúrgico:
- Cachear ciertos assets por meses
- No cachear endpoints específicos
- Purgar caché bajo demanda
Cloudflare te da ese control con Workers y Rules.
#### 3. Reescritura de URLs y transformaciones
Si necesitas modificar requests/responses antes de que lleguen a Vercel (cambiar headers, reescribir URLs, añadir autenticación), Cloudflare Workers es más flexible que la configuración de Vercel.
#### 4. Múltiples orígenes
Quizás tu arquitectura no es solo Vercel. Tienes APIs en otro lado, assets en otro servidor. Cloudflare puede unificar todo bajo un mismo dominio con lógica centralizada.
Cuándo NO tiene sentido
La mayoría de casos. Si tu aplicación es:
- Un MVP o startup temprano
- Un blog o sitio estático
- Una aplicación standard sin requisitos de seguridad especiales
- Un proyecto personal
Añadir Cloudflare es overhead. Mantén la arquitectura simple.
Cómo implementarlo sin romper nada
Si decides que lo necesitas, aquí está la forma correcta:
#### Paso 1: Configurar los DNS correctamente
``` En Cloudflare:
- Apunta tu dominio a Vercel
- Asegúrate de que el CNAME es el correcto
- NO uses "DNS only", usa "Proxied" (la nube naranja)
```
#### Paso 2: Headers críticos
Vercel necesita ciertos headers para funcionar. Configura Cloudflare para preservarlos:
``` En Cloudflare Rules:
- Preserve: X-Forwarded-For
- Preserve: X-Forwarded-Proto
- Preserve: X-Forwarded-Host
```
Sin esto, Vercel puede no detectar correctamente el protocolo HTTPS o la IP del cliente.
#### Paso 3: Caché inteligente
Cloudflare cachea todo por defecto. Para Next.js/Vercel, necesitas ser específico:
``` Cloudflare Page Rules:
1. /api/* → Cache Level: Bypass 2. /_next/* → Cache Level: Cache Everything 3. /images/* → Cache Level: Cache Everything (TTL: 1 mes) 4. /* → Cache Level: Bypass (para HTML dinámico) ```
La idea: solo cachea assets estáticos, no HTML dinámico.
#### Paso 4: Monitoring
Ahora tienes dos sistemas de caché. Monitorea:
- Cache hit rates en Cloudflare
- Response times desde diferentes regiones
- Errores de origen (5xx desde Vercel)
El experimento real
En un proyecto reciente, implementé esto:
Antes: Vercel solo
- Latencia promedio: aceptable
- Sin protección DDoS adicional
- Control de caché limitado
Después: Cloudflare + Vercel
- Latencia similar (Vercel ya tenía CDN)
- Protección DDoS mejorada
- Control de caché granular
- Headers más complejos posibles
¿Valió la pena? Para ese proyecto específico, sí. Era una aplicación con requisitos de seguridad y control de caché que justificaban la complejidad.
Para otros proyectos: no.
El takeaway real
No hagas esto porque es "cool" o porque otros lo hacen. Hazlo porque resuelve un problema específico que tienes.
La pregunta correcta no es "¿Debería usar Cloudflare + Vercel?"
La pregunta es: "¿Qué problema específico tengo que Cloudflare resuelve y que Vercel solo no puede?"
Si no tienes una respuesta clara, mantén la arquitectura simple.
En España y Europa, tendemos a overengineering. Construir en público significa mostrar lo que funciona, no lo más complejo. Empieza con Vercel solo. Añade Cloudflare cuando lo necesites realmente.
La mejor arquitectura es la que entiendes completamente y puedes debuggear en 15 minutos.
---
¿Estás usando Cloudflare + Vercel? Cuéntame en los comentarios qué problema específico resuelve para ti. Esos casos reales son más valiosos que cualquier guía teórica.