Nginx · Redis · SSL · Lua

Pārskats
Galvenais serveris darbojas tikai kā orķestrators — autentifikācija, tokena ģenerēšana, CDN maršrutēšana. Tas nekad neapstrādā straumes datus. Straumes plūst tieši no stream server caur CDN proksijiem uz klientiem. Katram klientu tīklam ir lokāls CDN zema aizkaves nodrošināšanai. Publiskais CDN-Z darbojas kā rezerves variants.
Autentifikācija, tokeni, orķestrācija. Nav straumes datu.
Token validācija, izmantojot Redis, pāradresācija uz stream server.
Avota straumes serveri (HLS/MPEG-TS).
IPTV atskaņotājs (VLC, STB, mobilā lietotne).
Klients autentificējas (B2C API / atskaņošanas saite)
Galvenais serveris izveido tokeni Redis (avota URL, 24h derīguma termiņš)
Galvenais serveris pāradresē klientu uz labāko CDN (302)
Klients seko pāradresācijai uz CDN
CDN validē tokeni, izmantojot Main Redis (Net X)
CDN pāradresē straumi no stream server uz klientu
rezerves variants
publiskais internets
CdnRouter pārbauda CDN veselību ik pēc 30s caur /health gala punktu. Ja labākais CDN klienta apgabalam ir bezsaistē, tas pārslēdzas uz nākamo atbilstošo CDN (kārtots pēc CIDR priekšpēdējo garuma, viskonkrētākie pirmie).
Nav veselīgu CDN → lokāls /cdn/ uz Main (drošības tīkls)
Formāts
Pāradresācijas URL
CdnToken automātiski atpazīst un apstrādā dažādus avota URL formātus. MPEG-TS vai tukšām straumes ceļiem tas veic HEAD pieprasījumu, lai pārbaudītu HLS pieejamību.
HLS playlist (m3u8) — proxy un video varianta pārrakstīšana (pirmā video sliedīte)
MPEG-TS (ts) — tieši proxy, bez konvertēšanas
Fails (mp4, m4s, ts, mkv, utt.) — tieši proxy, bez konvertēšanas
DASH (mpd) — tieši proksēts kā ir
HLS plūsmām nginx ķermeņa filtrs pārraksta master playlist (index.m3u8), lai saglabātu tikai pirmo video variantu, saglabājot visus audio/apakšvirsrakstu celiņus. Tas novērš spēlētāju lejupielādi ar vairākām video kvalitātēm vienlaicīgi.
Pirms (no stream server)
Aiz (nodots klientam)
Ģenerē 32-char hex tokenus, automātiski noteic formātu (HLS/MPEG-TS/file), normalizē URL, glabā Redis ar SETSE (24h TTL).
Atrod labāko veselo CDN pēc klienta IP (CIDR atbilstība + veselības pārbaude). Fallback ķēde.
Automātiski instalē nginx + lua-resty-redis + Redis CDN serveros. Ievieto /cdn/ atrašanās vietu galvenajā nginx.
DB modelis: domain, ip_scope (CIDR), redis_host (Galvenais IP uz Net X), veselības statuss.