×

🌐 Distribution

Nginx · Redis · SSL · Lua

Utama → Aliran → Arsitektur CDN

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).

Alur Permintaan

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

Topologi Jaringan

mundur

internet publik

Pemeriksaan Kesehatan & Kegagalan

CdnRouter memeriksa kesehatan CDN setiap 30 detik melalui /health endpoint.

Tidak ada CDN yang sehat → lokal /cdn/ di Utama (jaring pengaman)

Detail Token

Format

Kunci Redis

URL pengalihan

Format & Normalisasi URL yang Didukung

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

Filter Daftar Putar Nginx Master

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)

Komponen

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.