Cloudflare permite crear un Quick Tunnel para publicar temporalmente una aplicación que se está ejecutando en nuestro ordenador. Además, desde octubre de 2026, cloudflared permite proteger estos túneles mediante una dirección de correo electrónico y un PIN de un solo uso.
En este ejemplo se utilizará una aplicación que funciona en:
http://localhost:4321
El acceso estará permitido únicamente a determinadas direcciones de correo electrónico.
1. Requisitos
Necesitamos:
- Un ordenador con macOS, Windows o Linux.
- Una aplicación web funcionando localmente.
- El puerto utilizado por la aplicación.
cloudflaredinstalado.- Conexión a Internet.
Para este ejemplo utilizaremos:
Aplicación local: http://localhost:4321
No es necesario tener:
- Un dominio propio.
- Una cuenta de Cloudflare.
- Una configuración DNS.
- Un certificado SSL propio.
- Abrir puertos en el router.
- Configurar un archivo
config.yml.
Los Quick Tunnels están pensados para pruebas y desarrollo.
2. Instalar Cloudflared en macOS
Si utilizamos macOS y tenemos Homebrew, podemos instalar cloudflared con:
brew install cloudflared
Comprobamos que se ha instalado correctamente:
cloudflared --version
También podemos actualizarlo si ya estaba instalado:
brew upgrade cloudflared
3. Comprobar la aplicación local
Antes de crear el túnel debemos asegurarnos de que la aplicación funciona.
Por ejemplo, si se trata de una aplicación desarrollada con Astro:
cd /ruta/de/nuestro/proyecto
Instalamos las dependencias:
npm install
Arrancamos el servidor:
npm run dev
La aplicación debería quedar disponible en:
http://localhost:4321
Abrimos esa dirección desde el navegador y comprobamos que funciona correctamente.
Es importante mantener esta terminal abierta.
4. Abrir una segunda terminal
Abrimos otra ventana de Terminal.
En esta segunda terminal comprobaremos primero que cloudflared está disponible:
cloudflared --version
Si devuelve la versión instalada, podemos continuar.
5. Crear un Quick Tunnel sin protección
Antes de utilizar la autenticación por correo podemos comprobar que el túnel funciona:
cloudflared tunnel --url http://localhost:4321
Cloudflare mostrará información similar a:
INF Requesting new Quick Tunnel...
INF Your quick Tunnel has been created!
INF https://xxxxxxxx-xxxx-xxxx.trycloudflare.com
INF INF | Quick Tunnel is running...
La dirección trycloudflare.com será generada automáticamente.
Podemos copiarla y abrirla desde otro navegador o dispositivo.
La aplicación que estaba disponible únicamente mediante:
http://localhost:4321
pasará a ser accesible mediante la dirección pública proporcionada por Cloudflare.
6. Detener el túnel
Para detener el Quick Tunnel pulsamos:
Ctrl + C
La dirección pública dejará de funcionar.
Los Quick Tunnels son temporales y la URL cambia cuando se crea un nuevo túnel.
7. Crear el túnel protegido mediante correo electrónico
Ahora vamos a utilizar la característica de autenticación mediante correo electrónico.
En lugar de ejecutar:
cloudflared tunnel --url http://localhost:4321
utilizaremos:
cloudflared tunnel --url http://localhost:4321 \
--allowed-mail [email protected] \
--allowed-mail [email protected] \
--allowed-mail '*@instituto.edu'
En este ejemplo se permiten tres tipos de acceso:
[email protected]
[email protected]
*@instituto.edu
La última regla permite cualquier dirección perteneciente al dominio:
instituto.edu
Por ejemplo:
[email protected]
[email protected]
[email protected]
[email protected]
La comilla simple es importante:
' *@instituto.edu '
sin espacios:
'*@instituto.edu'
porque evita que el terminal interprete el carácter *.
8. Comando completo
Por tanto, para nuestro ejemplo podemos utilizar directamente:
cloudflared tunnel --url http://localhost:4321 \
--allowed-mail [email protected] \
--allowed-mail [email protected] \
--allowed-mail '*@instituto.edu'
También podemos escribirlo en una sola línea:
cloudflared tunnel --url http://localhost:4321 --allowed-mail [email protected] --allowed-mail [email protected] --allowed-mail '*@instituto.edu'
9. Resultado esperado
Después de ejecutar el comando aparecerá información similar a:
INF Requesting new Quick Tunnel...
INF Your protected Quick Tunnel has been created!
INF |
INF | https://xxxxxxxx.trycloudflare.com
INF |
INF | Authentication: One-Time PIN
INF |
INF | Allowed recipients: 2 addresses, 1 domain rule
INF |
INF | Local origin: http://localhost:4321
La información importante es:
Authentication: One-Time PIN
y:
Local origin: http://localhost:4321
La URL trycloudflare.com será diferente cada vez.
10. Probar el acceso
Copiamos la dirección que nos proporciona Cloudflare:
https://xxxxxxxx.trycloudflare.com
y la abrimos desde un navegador.
Cloudflare solicitará una dirección de correo electrónico.
Por ejemplo:
[email protected]
Después de introducirla, Cloudflare enviará un PIN de un solo uso a esa dirección.
El usuario introduce el PIN recibido y podrá acceder a la aplicación.
No necesita tener una cuenta de Cloudflare.
11. Probar con un usuario no autorizado
Podemos probar también qué ocurre con una dirección que no está permitida.
Por ejemplo:
[email protected]
Como no coincide con:
[email protected]
ni con:
[email protected]
ni pertenece a:
instituto.edu
no debería obtener acceso a la aplicación.
Esto permite comprobar que la protección está funcionando.
12. Permitir varios correos electrónicos
Podemos añadir tantos correos individuales como necesitemos repitiendo:
--allowed-mail
Por ejemplo:
cloudflared tunnel --url http://localhost:4321 \
--allowed-mail [email protected] \
--allowed-mail [email protected] \
--allowed-mail [email protected] \
--allowed-mail [email protected]
También podemos utilizar una lista separada por comas:
cloudflared tunnel --url http://localhost:4321 \
--allowed-mail '[email protected],[email protected],[email protected]'
Cloudflare admite ambas formas.
13. Permitir un dominio completo
Si queremos permitir a todos los usuarios de una organización:
instituto.edu
podemos utilizar:
--allowed-mail '*@instituto.edu'
Por ejemplo:
cloudflared tunnel --url http://localhost:4321 \
--allowed-mail '*@instituto.edu'
Esto permitirá:
[email protected]
[email protected]
[email protected]
[email protected]
pero no:
[email protected]
[email protected]
[email protected]
14. Cambiar las personas autorizadas
Las direcciones autorizadas se establecen cuando iniciamos el Quick Tunnel.
Si queremos cambiar los usuarios autorizados:
- Detenemos
cloudflared.
Ctrl + C
- Ejecutamos de nuevo el comando con las nuevas direcciones.
Por ejemplo:
cloudflared tunnel --url http://localhost:4321 \
--allowed-mail [email protected] \
--allowed-mail '*@instituto.edu'
Al detener el proceso, el acceso al túnel anterior termina para todos los usuarios.
15. Esquema de funcionamiento
INTERNET
│
▼
┌──────────────────┐
│ CLOUDFLARE │
│ │
│ Autenticación │
│ mediante correo │
│ + PIN temporal │
└────────┬─────────┘
│
│ HTTPS
▼
https://xxxxx.trycloudflare.com
│
▼
┌─────────────┐
│ cloudflared │
└──────┬──────┘
│
▼
http://localhost:4321
│
▼
┌─────────────┐
│ Aplicación │
│ web │
└─────────────┘
No es necesario abrir un puerto entrante del router. Cloudflare Tunnel establece la conexión desde el equipo hacia la infraestructura de Cloudflare.