Tuto XAMPP

--/--/---- --:--:--

05 · CLOUDFLARE

Cloudflare Tunnel

Publicamos temporalmente nuestro servidor local mediante Cloudflare Tunnel sin abrir puertos del router y revisamos las medidas de seguridad antes de exponer Apache.

> CLOUDFLARE TUNNEL

> Apache

> trycloudflare.com

> Networking → Tunnels

> tutoxampp :8085

> web publicada_

1. Antes de instalar Cloudflare: revisar Apache

El túnel no "elige" qué archivos son seguros. Publica lo que responda el origen que le indiquemos. Antes de exponer mediante Cloudflare http://localhost:8085:

Importante: un túnel de Cloudflare se ejecuta en la misma máquina. No debes asumir que una regla pensada para "solo local" protege automáticamente un panel administrativo frente a un proxy/túnel.

2. Instalar cloudflared desde el repositorio oficial

En Debian/Crostini:

sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null

echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main" | sudo tee /etc/apt/sources.list.d/cloudflared.list

sudo apt-get update
sudo apt-get install cloudflared -y

Comprobamos:

cloudflared --version

3. Quick Tunnel sobre 8080: qué comprobamos

Con XAMPP arrancado y Apache escuchando en 8080:

cloudflared tunnel --url http://localhost:8080

La Terminal mostrará una dirección aleatoria parecida a:

https://palabras-aleatorias.trycloudflare.com

En nuestra prueba, esa URL abrió la raíz general de XAMPP. Para llegar a nuestros proyectos desde ese origen hay que añadir /xnenex/ a la URL pública.

También comprobamos que usar cloudflared tunnel --url http://localhost:8080/xnenex/ no convierte esa ruta en una nueva raíz: Cloudflare publica el servicio HTTP, no cambia el DocumentRoot de Apache.
Quick Tunnel es para desarrollo y pruebas. La URL cambia y desaparece cuando detienes el proceso. No la trates como hosting permanente ni como una contraseña.

4. Detener el Quick Tunnel

En la Terminal donde está ejecutándose:

Ctrl + C

Con eso se termina el proceso y deja de funcionar la URL temporal.

5. Origen para Cloudflare: puerto 8085

En nuestra configuración Apache utiliza tres accesos distintos:

8080 → XAMPP general + Alias /xnenex
8081 → @public_html como distribuidor de todas las webs
8085 → tutoxampp como web directa para Cloudflare

El puerto que utilizamos como origen del túnel es 8085, porque apunta directamente a la carpeta:

/mnt/shared/GoogleDrive/MyDrive/---@web/www/@public_html/tutoxampp

Prueba local:

curl -I http://localhost:8085/
El puerto 8081 se mantiene como distribuidor local de @public_html. Cloudflare no utiliza ese puerto en este tutorial: publica directamente la web tutoxampp desde localhost:8085.

6. Quick Tunnel sobre 8085

Con XAMPP arrancado y el puerto 8085 funcionando:

cloudflared tunnel --url http://localhost:8085

Cloudflare generará una URL temporal trycloudflare.com que abrirá directamente la web tutoxampp.

Flujo: Internet → Cloudflare → Quick Tunnel → localhost:8085 → @public_html/tutoxampp.
No hay que abrir el puerto 8085 en el router. cloudflared establece una conexión saliente desde el Chromebook/Linux hacia Cloudflare.

7. Túnel permanente: método recomendado

Para la mayoría de usos permanentes, Cloudflare recomienda actualmente crear un túnel administrado remotamente desde el Dashboard. En el panel principal puede gestionarse en Networking → Tunnels. El método local con cert.pem, archivo JSON y config.yml sigue siendo útil para aprendizaje, desarrollo y configuraciones concretas.

8. Túnel con cuenta: autenticación

Para un túnel administrado localmente:

cloudflared tunnel login

Se abre el navegador para iniciar sesión y seleccionar la zona/dominio. El proceso crea un certificado de cuenta, normalmente:

~/.cloudflared/cert.pem
No publiques cert.pem. Permite administrar túneles de la cuenta y debe tratarse como una credencial sensible.

9. Crear un túnel con nombre

cloudflared tunnel create tutoxampp

El comando crea un UUID y un archivo de credenciales del túnel:

~/.cloudflared/<TUNNEL-UUID>.json

Comprueba los túneles:

cloudflared tunnel list
cert.pem administra túneles de la cuenta. El archivo JSON permite ejecutar ese túnel concreto. Son cosas distintas.

10. Configuración local del túnel

Crea:

nano ~/.cloudflared/config.yml

Plantilla:

tunnel: <TUNNEL-UUID>
credentials-file: /home/nenebuda_linux/.cloudflared/<TUNNEL-UUID>.json

url: http://localhost:8085

En este tutorial utilizamos 8085 porque ese puerto apunta directamente a @public_html/tutoxampp. El puerto 8081 queda reservado como distribuidor local de @public_html y el 8080 para XAMPP general.

Después puedes ejecutar:

cloudflared tunnel run tutoxampp

11. Túnel administrado desde el panel y token

Además del túnel configurado localmente, Cloudflare permite crear y administrar un túnel directamente desde su panel. En este método, Cloudflare genera un token que identifica y autoriza ese túnel.

  1. Entramos en el panel de Cloudflare.
  2. Abrimos Networking → Tunnels.
  3. Creamos un nuevo túnel.
  4. Cloudflare nos proporciona un token y el comando necesario para instalarlo en Linux.

Instalamos el túnel como servicio con el comando proporcionado por Cloudflare:

sudo cloudflared service install <TUNNEL_TOKEN>

Comprobamos el servicio:

sudo systemctl status cloudflared --no-pager

Si necesitamos arrancarlo o reiniciarlo:

sudo systemctl start cloudflared
sudo systemctl restart cloudflared
El token permite que cloudflared se conecte al túnel configurado en nuestra cuenta de Cloudflare.
El token es secreto. No lo copies en páginas HTML, JavaScript, README, capturas públicas ni repositorios. Si se filtra, debe rotarse desde Cloudflare.

12. Ejecutar como servicio de Linux

Para un túnel local con config.yml:

sudo cloudflared --config /home/nenebuda_linux/.cloudflared/config.yml service install
sudo systemctl start cloudflared
sudo systemctl status cloudflared --no-pager

Tras cambiar la configuración:

sudo systemctl restart cloudflared

13. Actualizar cloudflared

Si lo instalaste mediante APT:

sudo apt-get update
sudo apt-get install --only-upgrade cloudflared
sudo systemctl restart cloudflared.service

14. Diagnóstico

cloudflared --version
cloudflared tunnel list
sudo systemctl status cloudflared --no-pager
curl -I http://localhost:8080/xnenex/
curl -I http://localhost:8081/
curl -I http://localhost:8085/

Si el túnel no conecta, primero comprueba que Apache responda localmente. Si el origen local falla, Cloudflare tampoco podrá servirlo.

Fuentes oficiales de Cloudflare

SIGUIENTE: GITHUB PAGES →