24 Feb 26

Tomando decisiones basadas en encabezados HTTP

Cada vez que un navegador solicita una página web, ocurre una conversación invisible de apenas milisegundos. En esta charla, cliente y servidor no solo intercambian el contenido (el HTML o las imágenes), sino también una serie de instrucciones críticas: las HTTP headers (cabeceras HTTP).

Estas cabeceras determinan cómo se comporta el tráfico, cómo se almacena la caché y cómo se protege la privacidad del usuario. Su procesamiento en el edge, permite resolver retos complejos de infraestructura sin tocar una sola línea de código en los servidores de origen. En este post exploramos dos funciones críticas que debes dominar para pasar de usar tu CDN como un simple caché y empezar a usarla como una capa inteligente de ciberseguridad y rendimiento: el enrutamiento dinámico de backends y el control de acceso exclusivo. 

1. Enrutamiento dinámico: cambiar el backend según el encabezado

¿Qué pasaría si pudieras enviar a tus usuarios a diferentes servidores sin que ellos lo noten y sin cambiar de URL? Esta es la magia de cambiar el backend según el encabezado.

Un uso muy común es el enrutamiento por países. Y puede ser útil, por ejemplo, si tienes un periódico internacional, pero no quieres que un usuario de Miami tenga que cruzar el Atlántico para consultar el contenido en un servidor de Madrid.

Con pocas líneas de VCL, el cliente puede asegurar que el usuario americano hable con el servidor americano, reduciendo el tiempo de carga (TTFB – Time to First Byte) a más de la mitad. En Transparent Edge se puede establecer a través del encabezado geo_country_code:

sub vcl_recv{
    # Default backend
    set req.backend_hint = c82_tcdnes.backend();
    
    # Changing backend for Spanish users
    if (req.http.geo_country_code ~ "ES") { 
        set req.backend_hint = c82_tcdnes.backend();
    }
    
    # Changing backend for American users
    if (req.http.geo_country_code ~ "US") { 
        set req.backend_hint = c82_tcdnus.backend();
    }
    
}

Otros usos del enrutamiento dinámico

  • Despliegues canary y beta testing: puedes enviar a tus empleados o a un grupo de betatesters (identificados por una cabecera como X-Beta-User: true) a un servidor con la nueva versión de tu web, mientras el resto del mundo sigue viendo la versión estable.
  • Migraciones sin riesgo: si estás moviendo tu web de un servidor antiguo a uno nuevo, puedes redirigir el tráfico progresivamente basándote en encabezados específicos para asegurar que todo funciona antes del apagón final.
  • Segmentación de dispositivos: puedes dirigir las peticiones que vengan de una app móvil (identificadas por el User-Agent) a un backend optimizado para API, y las de escritorio a uno optimizado para renderizado web.

2. Seguridad avanzada: permitir tráfico solo con un encabezado específico

A veces, no quieres que tu contenido sea público para todo el mundo, o quieres asegurarte de que solo ciertas aplicaciones puedan consumir tus recursos. En términos de ciberseguridad, esto es lo que llamamos una validación de token en el edge. Mediante una comprobación de encabezados auth-tcdn, puedes bloquear peticiones no autorizadas en el propio edge. Esto no solo protege tus datos, sino que ahorra ancho de banda y CPU en tus servidores, ya que el tráfico malicioso no llega.

sub vcl_recv{
    if (req.http.auth-tcdn != "e37be3f5e06e263445654c0d6ba0e123") {
        call deny_request;
    }
}

Usos frecuentes de esta capa de seguridad

  • Protección del servidor de origen: puedes configurar tu infraestructura para que solo acepte peticiones que vengan directamente de la CDN. Al añadir un encabezado secreto entre la CDN y tu origen, bloqueas cualquier intento de ataque que intente «saltarse» la protección de la CDN.
  • Acceso exclusivo: si ofreces una API, puedes permitir el tráfico solo a aquellos clientes que envíen un encabezado de autenticación específico. Si la cabecera no está presente o es incorrecta, Transparent Edge bloquea la petición en el borde, antes de que llegue a consumir recursos de tu servidor.
  • Prevenir el hotlinking: evita que otros sitios web usen tus imágenes o recursos verificando la cabecera Referer.

Dominar las HTTP headers es el primer paso para optimizar el uso de tu CDN. Ya sea para probar nuevas funciones sin riesgo o para blindar el acceso a tus datos, la flexibilidad que ofrecen lenguajes como el VCL en Transparent Edge es tu mejor aliada.

¿Necesitas implementar una lógica de backendspersonalizada? Nuestro equipo técnico puede ayudarte a diseñar la regla VCL perfecta para tu caso de uso.