sábado, 21 de junio de 2025

Cómo implementar un Cloudflare Worker

🚀 Cómo implementar un Cloudflare Worker paso a paso (Guía práctica para clientes finales)

En un mundo cada vez más digital, optimizar el rendimiento, seguridad y personalización de tu sitio web puede marcar la diferencia entre un cliente satisfecho y uno frustrado. Por eso, hoy te enseñaremos a implementar un Cloudflare Worker, una herramienta poderosa que te permite ejecutar código personalizado en la red de Cloudflare, sin necesidad de servidores.

✅ ¿Qué es un Cloudflare Worker?

Un Worker es una función JavaScript que se ejecuta en los bordes (edge) de la red de Cloudflare, permitiendo interceptar, modificar y responder a solicitudes HTTP antes de que lleguen a tu servidor.

Beneficios clave:

  • Mejorar tiempos de carga.
  • Aplicar reglas personalizadas (como redirecciones o filtros).
  • Cachear contenido dinámico.
  • Proteger APIs o endpoints vulnerables.
  • Hacer A/B testing sin cambiar tu servidor.

🛠️ Paso a paso para implementar tu primer Worker

1. Crea una cuenta en Cloudflare

Si aún no la tienes, regístrate gratis en Cloudflare.

2. Accede a la sección Workers

Desde el panel, busca “Workers & Pages” > “Workers” y haz clic en “Create a Worker”.

3. Edita el código base

Cloudflare te da una plantilla básica como esta:

export default {
  async fetch(request, env, ctx) {
    return new Response('¡Hola desde tu Worker de Cloudflare!', {
      headers: { 'content-type': 'text/plain' },
    });
  },
};

Puedes modificar el contenido según tu necesidad.

🧪 Casos prácticos

🟡 Caso 1: Redirección inteligente según país

export default {
  async fetch(request) {
    const country = request.cf.country;
    if (country === 'PE') {
      return Response.redirect('https://tuweb.pe', 302);
    }
    return fetch(request);
  },
};

🔵 Caso 2: Bloqueo de bots por User-Agent

export default {
  async fetch(request) {
    const ua = request.headers.get('User-Agent') || '';
    if (ua.includes('bot') || ua.includes('crawler')) {
      return new Response('Acceso denegado', { status: 403 });
    }
    return fetch(request);
  },
};

🟢 Caso 3: Cache personalizado para APIs

export default {
  async fetch(request) {
    const cacheUrl = new URL(request.url);
    const cacheKey = new Request(cacheUrl.toString(), request);
    const cache = caches.default;

    let response = await cache.match(cacheKey);
    if (!response) {
      response = await fetch(request);
      response = new Response(response.body, response);
      response.headers.append('Cache-Control', 's-maxage=60');
      await cache.put(cacheKey, response.clone());
    }

    return response;
  },
};

💡 ¿Cuándo usar un Worker?

  • Cuando necesitas automatizar respuestas (sin sobrecargar tu servidor).
  • Cuando deseas personalizar reglas de seguridad o performance.
  • Para filtrar tráfico, cachear dinámicamente o generar respuestas personalizadas.

🤝 ¿Necesitas ayuda con Workers?

Si deseas implementar Cloudflare Workers pero no sabes por dónde comenzar, PortalPBX como Partner de Cloudflare puede ayudarte.

👨‍💻 José Areche y el equipo de PortalPBX están listos para:

  • Asesorarte técnicamente
  • Diseñar reglas avanzadas
  • Implementar soluciones personalizadas para tu negocio

📧 Escríbenos o visita: https://portalpbx.com


¡Aprovecha la potencia de Cloudflare con inteligencia!

No hay comentarios: