Nginx · Redis · SSL · Lua

Gambaran keseluruhan
Pelayan utama bertindak sebagai orkestra sahaja — pengesahan, penjanaan token, penghalaan CDN.
Pengesahan, token, orkestrasi.
Pengesahan token melalui Redis, proksi kepada stream server.
Pelayan strim sumber (HLS/MPEG-TS).
Pemain IPTV (VLC, STB, aplikasi mudah alih).
Pelanggan mengesahkan (B2C API / pautan main)
Token ciptaan utama dalam Redis (URL sumber, TTL 24j)
Ubah hala utama pelanggan ke CDN terbaik (302)
Pelanggan mengikuti ubah hala ke CDN
CDN mengesahkan token melalui Main's Redis (Net X)
Proksi CDN mengalir dari stream server kepada pelanggan
sandaran
internet awam
CdnRouter menyemak kesihatan CDN setiap 30s melalui /health endpoint.
Tiada CDN sihat → tempatan /cdn/ di Utama (jaring keselamatan)
Format
Ubah hala URL
CdnToken secara automatik mengesan dan mengendalikan format URL sumber yang berbeza.
Senarai main HLS — digunakan terus, senarai main induk ditapis kepada varian video tunggal + semua trek audio
MPEG-TS mentah — ditukar secara automatik kepada HLS jika pelayan menyokongnya (stream server sentiasa melakukannya), jika tidak, proksi mentah dengan penimbalan dimatikan
Fail (mp4, m4s, ts, mkv, dsb.) — diproksi secara langsung seperti sedia ada, tiada penukaran
DASH (mpd) — diproksikan terus apa adanya
Untuk strim HLS, penapis badan nginx menulis semula senarai main induk (index.m3u8) untuk menyimpan hanya varian video pertama sambil mengekalkan semua trek audio/sari kata.
Sebelum (dari stream server)
Selepas (diserahkan kepada pelanggan)
Menghasilkan token hex 32-char, format auto-kesan (HLS/MPEG-TS/fail), menormalkan URL, menyimpan dalam Redis dengan SETEX (24j TTL).
Cari CDN sihat terbaik mengikut IP pelanggan (padanan CIDR + pemeriksaan kesihatan).
Auto-pasang nginx + lua-resty-redis + Redis pada pelayan CDN.
Model DB: domain, ip_scope (CIDR), redis_host (IP Utama pada Net X), status kesihatan.