Configuración de rutas
Las rutas definen cómo distribuye el agente el tráfico entrante entre tus servicios. Se configuran desde el panel de Nubulus y se aplican automáticamente al agente sin ningún reinicio.
Tipos de ruta
Section titled “Tipos de ruta”Ruta por path (type: path)
Section titled “Ruta por path (type: path)”Dirige el tráfico según el path de la URL. Útil para separar un frontend de una API bajo el mismo dominio.
| Campo | Descripción |
|---|---|
| Hostname | Dominio al que aplica la ruta (ej: mi-app.com) |
| Path prefix | Prefijo del path que activa la ruta (ej: /api) |
| Upstream host | Nombre del contenedor o host de destino |
| Upstream port | Puerto en el que escucha el servicio |
| Strip prefix | Si está activo, elimina el prefijo del path antes de reenviar |
Ruta por host (type: host)
Section titled “Ruta por host (type: host)”Captura todo el tráfico de un hostname que no haya sido recogido por una ruta de tipo path. Actúa como fallback.
Prioridad de las rutas
Section titled “Prioridad de las rutas”Cuando llega una petición, el agente evalúa las rutas en este orden:
- Rutas de tipo path, de más específica a menos (el prefijo más largo primero).
- Rutas de tipo host como fallback.
Ejemplo con estas dos rutas para mi-app.com:
| Tipo | Path prefix | Destino |
|---|---|---|
path | /api | backend:3000 |
host | / | frontend:8080 |
GET /api/users→ va abackend:3000GET /api/products→ va abackend:3000GET /→ va afrontend:8080GET /about→ va afrontend:8080
Strip prefix
Section titled “Strip prefix”Cuando activas Strip prefix en una ruta de tipo path, el agente elimina el prefijo del path antes de enviarlo al servicio.
Ejemplo con path_prefix = /api y strip prefix activado:
| Petición entrante | Lo que recibe el servicio |
|---|---|
GET /api/users | GET /users |
GET /api/products/1 | GET /products/1 |
GET /api | GET / |
Útil cuando tu servicio no sabe nada del prefijo /api y espera las rutas desde /.
Ejemplos de configuración
Section titled “Ejemplos de configuración”Un solo servicio
Section titled “Un solo servicio”El caso más simple: todo el tráfico del dominio va a un único servicio.
| Tipo | Hostname | Path | Upstream |
|---|---|---|---|
host | mi-app.com | / | mi-app:8080 |
Frontend + API
Section titled “Frontend + API”mi-app.com/ → frontend:3000mi-app.com/api/* → backend:8080| Tipo | Hostname | Path | Upstream | Strip prefix |
|---|---|---|---|---|
path | mi-app.com | /api | backend:8080 | No |
host | mi-app.com | / | frontend:3000 | No |
API con strip de prefijo
Section titled “API con strip de prefijo”El backend espera rutas sin el prefijo /api:
mi-app.com/api/users → backend:8080/usersmi-app.com/api/auth → backend:8080/auth| Tipo | Hostname | Path | Upstream | Strip prefix |
|---|---|---|---|---|
path | mi-app.com | /api | backend:8080 | Sí |
host | mi-app.com | / | frontend:3000 | No |
Múltiples servicios en distintos paths
Section titled “Múltiples servicios en distintos paths”mi-app.com/ → landing:80mi-app.com/app → webapp:3000mi-app.com/api → api:8080mi-app.com/admin → panel:4000| Tipo | Hostname | Path | Upstream | Strip prefix |
|---|---|---|---|---|
path | mi-app.com | /admin | panel:4000 | Sí |
path | mi-app.com | /api | api:8080 | Sí |
path | mi-app.com | /app | webapp:3000 | Sí |
host | mi-app.com | / | landing:80 | No |
Cambios en tiempo real
Section titled “Cambios en tiempo real”Los cambios de rutas que hagas en el panel se aplican en el agente en un máximo de 30 segundos, sin interrumpir las conexiones activas ni reiniciar el agente.