Guía para configurar Cloudflare Tunnel como proxy inverso en ServBay usando cloudflared
Cloudflare Tunnel (anteriormente conocido como Argo Tunnel) es un servicio de proxy inverso de confianza cero proporcionado por Cloudflare, que permite exponer servicios locales de manera segura sin necesidad de abrir puertos públicos. Esta guía te llevará a través del proceso de establecimiento de un túnel seguro en el entorno de ServBay mediante cloudflared, lo que permite el acceso a servicios locales desde Internet.
Principio técnico
Cloudflare Tunnel conecta de forma segura los servicios locales a los nodos de borde de Cloudflare mediante la creación de conexiones salientes cifradas (basadas en el protocolo QUIC). Esta solución elude completamente la necesidad de configurar reglas de firewall y NAT, al mismo tiempo que integra las funciones de protección contra DDoS y el firewall de aplicaciones web (WAF) de Cloudflare.
Preparación del entorno
1. Instalación del cliente cloudflared
Sistema macOS (arquitectura ARM):
# Descargar el archivo binario
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-darwin-amd64.tgz | tar xz
sudo mv cloudflared /usr/local/bin/
2
3
Verificar la instalación:
cloudflared --version
# cloudflared version 2024.5.0 (built 2024-05-01)
2
2. Iniciar sesión en la cuenta de Cloudflare
cloudflared tunnel login
Esto abrirá automáticamente el navegador para seleccionar el dominio que deseas administrar y completar la autorización.
Configuración del túnel
Proceso de configuración principal
- Crear túnel
cloudflared tunnel create servbay-tunnel
# Ejemplo de salida: Created tunnel servbay-tunnel with id xxxx-xxxx-xxxx
2
- Configurar registros DNS
cloudflared tunnel route dns servbay-tunnel servbay-tunnel.yourdomain.com
- Escribir archivo de configuración
Crea~/.cloudflared/config.yml
:
tunnel: <TUNNEL_ID>
credentials-file: /path/to/credentials.json
ingress:
- hostname: servbay-tunnel.yourdomain.com
service: https://servbay.local
originRequest:
noTLSVerify: true # Habilitar si deseas omitir la verificación del certificado local
- service: http_status:404 # Regla de retroceso predeterminada
2
3
4
5
6
7
8
9
Iniciar el servicio de túnel
cloudflared tunnel run servbay-tunnel
Verificación del servicio
- Accede al dominio configurado:
https://servbay-tunnel.yourdomain.com
- Puntos de verificación:
- Se debe mostrar contenido consistente con el servicio local.
- La barra de direcciones del navegador debe mostrar un certificado SSL válido emitido por Cloudflare.
- La cabecera de respuesta debe contener el identificador
CF-RAY
.
Consejos de configuración avanzada
Rutas para múltiples servicios
ingress:
- hostname: api.yourdomain.com
service: https://api.local
- hostname: app.yourdomain.com
service: https://app.local
2
3
4
5
Monitoreo de tráfico
# Ver indicadores en tiempo real
cloudflared tunnel info servbay-tunnel
# Obtener registros detallados
cloudflared tunnel logs servbay-tunnel
2
3
4
5
Solución de problemas
Síntoma | Solución |
---|---|
502 Bad Gateway | Verifica si el servicio local está en funcionamiento y que la dirección del service en la configuración del túnel sea correcta. |
Error de resolución DNS | Asegúrate de que el CNAME del registro DNS apunte correctamente (debería ser <UUID>.cfargotunnel.com ). |
Fallo de verificación de certificado | Asegúrate de que el hostname en el config.yml coincida con el nombre de dominio del certificado y verifica que la cadena del certificado local esté completa. |
Ventajas de la solución
Con la solución de Cloudflare Tunnel, los usuarios de ServBay pueden beneficiarse de:
- Protección de seguridad de nivel empresarial: Mitigación de DDoS y protección WAF integradas.
- Sin exposición de puertos: No es necesario configurar reglas de firewall o NAT.
- Rutas inteligentes: Optimización de la velocidad de acceso a través de la red global Anycast de Cloudflare.
- Cuota gratuita: El plan gratuito incluye 50 túneles activos por mes.
Se recomienda implementar políticas de Access en entornos de producción para un control de acceso granular, garantizando así la seguridad del servicio.