Cloudflare Tunnel. Como poner online mi sitio web local

  • Post by Esteban Suárez
  • Jan 29, 2022
post-thumb

Cloudflare es una de las redes más grandes del mundo. Hoy en día, los sitios web y las aplicaciones de las empresas, las organizaciones sin ánimo de lucro, los blogueros y cualquier persona con presencia en Internet son más rápidos y seguros gracias a Cloudflare.

Tener un sitio en línea normalmente requiere una serie de recursos tales como:

  1. Nombre de Dominio (Obligatorio)
  2. Servidor de Hosting
  3. Servicios de mitigación de DDOS o ataques de fuerza bruta
  4. Certificados SSL

Por solo contar los más usuales para un usuario promedio. Pero ¿que pasaria si se nos hace demasiado complicado contratar un hosting en línea? o ¿si sencillamente queremos poner en línea uno de los sitios o servicios que tenemos corriendo en nuestro servidor local o la computadora de nuestra casa?

Si tienes estas dudas no dejes de leer este artículo donde te voy a explicar que es Cloudflare, qué es Cloudflare Tunnel y como puedes poner tu sitio local en tan solo unos minutos y sin gastar un solo centavo.

¿Que es Cloudaflare?

Según el sitio oficial: Cloudflare es una de las redes más grandes del mundo. Hoy en día, los sitios web y las aplicaciones de las empresas, las organizaciones sin ánimo de lucro, los blogueros y cualquier persona con presencia en Internet son más rápidos y seguros gracias a Cloudflare.

¿como es que funciona?

En los primeros tiempos de Internet, cuando querías cargar un sitio web, tu solicitud iba desde tu equipo a un servidor, que luego devolvía la página web que solicitabas. Conexión entre el equipo y el servidor

Si llegaban demasiadas solicitudes a la vez, ese servidor se podía sobrecargar, bloquear y dejar de responder a las solicitudes de cualquier persona que intentaba acceder a los recursos que alojaba.

Esta problemática dificultaba a los propietarios de sitios web la tarea de ofrecer contenido rápido, seguro y fiable. Así nació Cloudflare, con el objetivo de superar estas dificultades y ofrecer a los usuarios los recursos necesarios para permitir que sus sitios, aplicaciones y blogs sean seguros y eficaces. Todo ello es posible gracias al uso de una potente red perimetral que ofrece contenido y otros servicios lo más cerca posible de los usuarios, para que obtengas la información lo más rápido posible.

¿Como esto puede beneficiarte?

Al utilizar Cloudflared te beneficias de protección contra ataques de denegación de servicios (DDOS), un certificado SSL valido por tiempo ilimitado, velocidades de carga más rápidas de cara a los clientes. Algo muy importante al brindar servicios en Internet y otros servicios asociados que se han ido incrementando con el paso del tiempo.

¿Qué es Cloudflared Tunnel?

Cloudflare Tunnel es un software de tunelización que te permite proteger y cifrar rápidamente el tráfico de aplicaciones a cualquier tipo de infraestructura, para que puedas ocultar las direcciones IP de tus servidores web, bloquear los ataques directos y volver a ofrecer grandes aplicaciones.

En esencia es un tunel que puede conectar cualquier servicio que tengas corriendo localmente a un dominio que tengas en internet. Tanto si estas detrás de un firewall o no. Creando mi tunel paso a paso

Para comenzar este tutorial lo primero que debemos hacer es crearnos una cuenta en Cloudflare. Para ello nos dirigimos al sitio web Cloudflare utilizando el navegador de nuestra preferencia.

cloudflare pagina de inicio

Ya que estemos en el sitio web de Cloudflare si es la primera vez que escuchas de Cloudflare y no tienes aún una cuenta vas a Sign Up y creas tu cuenta con los datos que se te solicitan.

Una vez que tengas tu cuenta creada y verificada vas a iniciar sesión en tu cuenta de cloudflare con tu usuario y contraseña. Siempre es recomendable que en Ajustes, Seguridad añades un doble factor de autenticación 2FA.

En el Dashboard o Panel principal que tendrás cuando abras tu cuenta verás un botón que dice Agregar un sitio.

cloudflare registrar dominio

Una vez realizado este paso debes escribir el nombre de un dominio a tu nombre y en el que tengas acceso a los registros DNS para poner modificarlos.

cloudflare agregar dominio

Para verificar que eres el propietario del dominio debes agregar los registros que Cloudflared te va a proporcionar en el registrador del dominio que estás utilizando. Luego le das clic en verificar.

Nota: Si no tienes un dominio y deseas comprar uno puedes hacerlo a través del registrador de dominios de Cloudflare o puedes dirigirte a Namecheap.com aunque existen otros en internet y en fin puedes elegir el que sea de tu gusto siempre y cuanto tengas el control de los registros DNS.

Completados estos pasos y ya con tu dominio apuntando a cloudflare procedemos a crear el tunel para publicar nuestro sitio web local en internet. Primeros pasos para crear nuestro tunel

Para crear nuestro tunel debemos cumplir varios requisitos.

  1. Tener una Computadora
  2. Acceso a Internet
  3. Saber en que Plataforma estamos trabajando (Windows, Linux, Mac)
  4. Descargar e software de cloudflare.

Cumplidos los requisitos 1, 2, 3 vamos directamente al número 4. Descarga de Cloudflare

Nos dirigimos al Centro de Descargas de Cloudflaredonde vamos a descargar el software para la plataforma que tenemos.

Una vez que hemos descargado el archivo que vamos a utilizar procedemos a instalarlo. Configuramos el tunel

Para configurar el Tunel lo primero que debemos hacer es logearnos, tenga en cuenta que este es un proceso que vamos a realizar desde un terminal en el que escribimos el siguiente comando.

 

cloudflared tunnel login

Acto seguido va a mostrarse un link en pantalla el cual debes abrir en el navegador con tu cuenta de cloudflared abierta para elegir cual dominio es el que va a tener el tunel y que se genere el certificado (cert.pem) de acceso para el mismo.

La salida en el terminal debería ser algo como esto:

 
A browser window should have opened at the following URL:

https://www.cloudflare.com/a/warp?callback=<some token>

If the browser failed to open, open it yourself and visit the URL above.

Para crear un nuevo tunel se debe utilizar el siguiente comando:

 

cloudflared tunnel create <NOMBRE_DEL_TUNEL>

Donde NOMBRE_DEL_TUNEL viene a ser el nombre del subdominio que le pondras a tu sitio web.

Ejemplo 1:
cloudflare tunnel create www

Si el dominio registrado en tu cuenta de Cloudflare es example.com el tunel creado más arriba va a redirigir tu servicio a www.example.com

Ejemplo 2:
cloudflare tunnel create prueba

Va a redirigir tu servicio local a prueba.example.com

Si deseas verificar que el tunel fue creado de forma correcta o la cantidad de tunel que tienes creados puedes utilizar:

 
cloudflared tunnel list

Si deseas eliminar un tunel que hayas creado por error o que no utilizaras nuevamente utiliza el siguiente comando:

 
cloudflared tunnel delete <NOMBRE_DEL_TUNEL>

Si deseas ejecutar tu tunel con un servicio que se este ejecutando en el puerto 80 de tu computadora a modo de ejemplo podrías utilizar el siguiente comando

 
cloudflared --hostname <NOMBRE_DEL_TUNEL.example.com>  --url localhost:80

De esta forma podrías hacer accesible desde internet ese proyecto en el que llevas trabajando un tiempo.