AITM rezervuje jeden souvislý rozsah Docker portů pro kontejnery všech spravovaných projektů. Tato stránka vysvětluje, jak tento fond portů funguje a proč je kontrola CORS samostatná záležitost.
Docker porty a CORS přístup
1. Jeden sdílený fond portů
AITM rezervuje jeden souvislý rozsah Docker portů (výchozí 20000–20050, 50 portů) pro kontejnery všech spravovaných projektů. Rozsah je definován v AITM v src/constants.ts a lze ho přepsat přes release/docker/.env (AITM_PROJECT_PORTS_START / AITM_PROJECT_PORTS_END), nebo v Settings → Projects & Memory (projectPortRange).
| Koncept | Co kontroluje | Kde se nastavuje |
|---|---|---|
| Docker port-publish rozsah | které porty Docker zveřejní z kontejnerů na host, aby je bylo možné otevřít v prohlížeči | release/docker/.env (AITM_PROJECT_PORTS_START/_END) nebo Settings → Projects & Memory → projectPortRange |
| CORS allowed origins | které origin adresy prohlížeče AITM povolí přes OriginPolicy | AITM serverová konfigurace, nezávisle na rozsahu portů |
Jde o sdílený fond, ne o jeden vyhrazený port nebo IP adresu pro každý projekt. Web Port projektu jen musí spadat do zveřejněného rozsahu, aby byl dosažitelný z prohlížeče na hostu — AITM nepřiděluje projektům samostatné IP adresy.
2. CORS je druhá, nezávislá kontrola
Zveřejnění portu Dockerem a povolení CORS origin jsou dvě oddělené podmínky. Aby byl kontejner projektu dosažitelný z prohlížeče, musí platit obě najednou: port musí být zveřejněn Dockerem A origin prohlížeče musí být povolen AITM OriginPolicy. Splnění jen jedné z nich nestačí.
Praktická rada
- Pokud port vývojového/testovacího serveru nového projektu spadá mimo zveřejněný rozsah, bude vše fungovat uvnitř kontejneru, ale port bude nedosažitelný z prohlížeče na hostu.
- Řešením je přesunout port projektu do zveřejněného rozsahu (nebo rozšířit
projectPortRangev Settings) — ne žádat o novou IP adresu. - Pokud je port v pořádku, ale prohlížeč přesto hlásí chybu CORS, problém je v
OriginPolicy, ne v rozsahu portů — jde o samostatnou kontrolu.