Tomando decisiones basadas en encabezados HTTP
24 Feb 26
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.
¿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();
}
}
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;
}
}
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.