Solución de problemas
Soluciones a los problemas más comunes: connection refused, host bloqueado en Vite, subdominio no reservado, límites y más.
2 min de lectura
La mayoría de los problemas están en la app local, no en el túnel. Empieza por estas comprobaciones.
502 o "connection refused"
El túnel está activo pero nada escucha en el puerto indicado. Arranca primero tu app, confirma el puerto y luego inicia el túnel.
# Is anything listening on the port?lsof -i :3000# Start your app first, then the tunnelnpm run devrl-tunnel http 3000"Blocked request. This host is not allowed"
Vite y algunos servidores de desarrollo rechazan hosts desconocidos. La CLI ya lo evita: por defecto envía a tu app el host local (por ejemplo localhost:3000) y el host público va en X-Forwarded-Host. Las redirecciones al host local se reescriben de vuelta a la URL pública. Solo ves este error con --preserve-host; en ese caso permite el dominio del túnel:
Blocked request. This host ("dev-xyz.t.resolvelabs.com.br") is not allowed.// vite.config.tsexport default defineConfig({ server: { allowedHosts: [".t.resolvelabs.com.br"] },});"Subdominio no reservado" o en uso
--subdomain solo acepta nombres reservados en tu cuenta. Resérvalo en el panel (los nombres son únicos entre cuentas) e inicia sesión con rl-tunnel auth login. Ejecuta rl-tunnel whoami para ver lo que tiene tu cuenta.
"Límite de túneles simultáneos alcanzado"
Una cuenta permite 10 túneles simultáneos. Cierra los túneles que ya no uses (Ctrl+C). Tras una caída de red, la sesión antigua puede tardar hasta medio minuto en liberarse, y la CLI reintenta sola.
"Token no válido o revocado"
El token se revocó en el panel o está mal escrito. Crea uno nuevo, o ejecuta rl-tunnel auth login de nuevo. Comprueba si hay un RL_TUNNEL_TOKEN antiguo en el entorno: tiene prioridad sobre el inicio de sesión guardado.
El navegador no se abre al iniciar sesión
Usa rl-tunnel auth login --no-browser, abre la URL impresa en cualquier dispositivo y confirma el código.
La app muestra el sitio equivocado o redirige a localhost
Tu app puede construir URLs absolutas a partir del header Host o de una variable de entorno. Usa --host-header, o define la URL pública (por ejemplo APP_URL) con la dirección del túnel.
¿Sigues atascado?
Ejecuta con --debug para ver los detalles de la conexión e incluye la salida al contactar con soporte.
rl-tunnel http 3000 --debug