Nginx · Redis · SSL · Lua

Ringkasan
Server utama hanya bertindak sebagai orkestrator — autentikasi, pembuatan token, perutean CDN.
Otentikasi, token, orkestrasi.
Validasi token melalui Redis, proksi ke stream server.
Server aliran sumber (HLS/MPEG-TS).
Pemutar IPTV (VLC, STB, aplikasi seluler).
Otentikasi klien (API B2C / tautan putar)
Token utama dibuat di Redis (URL sumber, TTL 24 jam)
Klien pengalihan utama ke CDN terbaik (302)
Klien mengikuti pengalihan ke CDN
CDN memvalidasi token melalui Redis Utama (Net X)
Proksi CDN mengalir dari stream server ke klien
mundur
internet publik
CdnRouter memeriksa kesehatan CDN setiap 30 detik melalui /health endpoint.
Tidak ada CDN yang sehat → lokal /cdn/ di Utama (jaring pengaman)
Format
URL pengalihan
CdnToken secara otomatis mendeteksi dan menangani berbagai format URL sumber.
Daftar putar HLS — digunakan secara langsung, daftar putar utama difilter ke varian video tunggal + semua trek audio
MPEG-TS mentah — dikonversi secara otomatis ke HLS jika server mendukungnya (stream server selalu mendukungnya), jika tidak, proksi mentah dengan buffering tidak aktif
File (mp4, m4s, ts, mkv, dll.) — diproksi langsung apa adanya, tanpa konversi
DASH (mpd) — diproksi langsung apa adanya
Untuk streaming HLS, nginx body filter menulis ulang playlist master (index.m3u8) untuk hanya mempertahankan varian video pertama sambil mempertahankan semua trek audio/subtitel.
Sebelumnya (dari stream server)
Setelah (dikirim ke klien)
Menghasilkan token hex 32 karakter, format deteksi otomatis (HLS/MPEG-TS/file), menormalkan URL, menyimpannya di Redis dengan SETEX (TTL 24 jam).
Menemukan CDN sehat terbaik berdasarkan IP klien (pencocokan CIDR + pemeriksaan kesehatan).
Instal otomatis nginx + lua-resty-redis + Redis di server CDN.
Model DB: domain, ip_scope (CIDR), redis_host (IP Utama di Net X), status kesehatan.