AITM reserva un rango contiguo de puertos Docker para los contenedores de todos los proyectos gestionados. Esta página explica cómo funciona ese conjunto de puertos y por qué la comprobación de CORS es una cuestión aparte.

Docker Ports & CORS Access

1. Un único conjunto de puertos compartido

AITM reserva un único rango contiguo de puertos Docker (por defecto 20000–20050, 50 puertos) para los contenedores de todos los proyectos gestionados. El rango se define en src/constants.ts de AITM y puede sustituirse mediante release/docker/.env (AITM_PROJECT_PORTS_START / AITM_PROJECT_PORTS_END), o en Settings → Projects & Memory (projectPortRange).

ConceptoQué controlaDónde se configura
Rango de publicación de puertos Dockerqué puertos de contenedor publica Docker en el host para que un navegador pueda alcanzarlosrelease/docker/.env (AITM_PROJECT_PORTS_START/_END) o Settings → Projects & Memory → projectPortRange
Orígenes permitidos por CORSqué orígenes de navegador permite AITM a través de su OriginPolicyconfiguración del servidor AITM, independiente del rango de puertos

Se trata de un conjunto compartido, no de un puerto o una dirección IP dedicados por proyecto. El Web Port de un proyecto solo necesita estar dentro del rango publicado para ser accesible desde el navegador del host — AITM no asigna direcciones IP independientes por proyecto.

2. CORS es una segunda comprobación independiente

Que Docker publique un puerto y que AITM permita un origen CORS son dos condiciones separadas. Para que el contenedor de un proyecto sea accesible desde un navegador, deben cumplirse ambas: el puerto debe estar publicado por Docker Y el origen del navegador debe estar permitido por la OriginPolicy de AITM. Cumplir solo una de las dos no basta.

Orientación práctica

  • Si el puerto del servidor de desarrollo/pruebas de un proyecto nuevo cae fuera del rango publicado, todo parecerá funcionar correctamente dentro del contenedor pero será inaccesible desde el navegador del host.
  • La solución es mover el puerto del proyecto dentro del rango publicado (o ampliar projectPortRange en Settings) — no solicitar una nueva dirección IP.
  • Si el puerto es correcto pero el navegador sigue informando de un error de CORS, el problema es la OriginPolicy, no el rango de puertos — es una comprobación distinta.