Nginx · Redis · SSL · Lua

ملخص
يعمل الخادم الرئيسي كمنسق فقط - المصادقة، وإنشاء الرمز المميز، وتوجيه CDN.
المصادقة، الرموز، التنسيق.
التحقق من صحة الرمز عبر Redis، وكيل stream server.
خوادم دفق المصدر (HLS/MPEG-TS).
مشغل IPTV (VLC، STB، تطبيق الهاتف المحمول).
مصادقة العميل (B2C API / رابط التشغيل)
ينشئ المفتاح الرئيسي رمزًا مميزًا في Redis (عنوان URL المصدر، 24 ساعة TTL)
يعيد توجيه العميل الرئيسي إلى أفضل CDN (302)
يتبع العميل إعادة التوجيه إلى CDN
تتحقق CDN من صحة الرمز المميز عبر Redis (Net X) الرئيسي
يتدفق وكلاء CDN من stream server إلى العميل
احتياطي
الإنترنت العام
يقوم CdnRouter بفحص صحة CDN كل 30 ثانية عبر نقطة النهاية /health.
لا يوجد CDN صحي → محلي /cdn/ على الجهاز الرئيسي (شبكة الأمان)
شكل
إعادة توجيه URL
يكتشف CdnToken تنسيقات URL المصدر المختلفة ويتعامل معها تلقائيًا.
قائمة تشغيل HLS - تستخدم مباشرة، قائمة التشغيل الرئيسية تمت تصفيتها لمتغير فيديو واحد + جميع المسارات الصوتية
Raw MPEG-TS - يتم تحويله تلقائيًا إلى HLS إذا كان الخادم يدعمه (يدعمه stream server دائمًا)، وإلا يتم تحويله إلى ملف خام وسيط مع إيقاف التخزين المؤقت
ملف (mp4، m4s، ts، mkv، إلخ.) - يتم نقله مباشرة كما هو، بدون تحويل
DASH (mpd) — يتم تمثيله مباشرة كما هو
بالنسبة إلى تدفقات HLS، يعيد مرشح الجسم nginx كتابة قائمة التشغيل الرئيسية (index.m3u8) للاحتفاظ فقط بمتغير الفيديو الأول مع الحفاظ على جميع مسارات الصوت/الترجمة.
قبل (من فلوسونيك)
بعد (تسليمها للعميل)
يُنشئ رموزًا سداسية عشرية مكونة من 32 حرفًا، ويكتشف التنسيق تلقائيًا (HLS/MPEG-TS/ملف)، ويطبيع عنوان URL، ويخزن في Redis باستخدام SETEX (24 ساعة TTL).
العثور على أفضل CDN صحي عن طريق عنوان IP للعميل (مطابقة CIDR + فحص الصحة).
التثبيت التلقائي لـ nginx + lua-resty-redis + Redis على خوادم CDN.
نموذج قاعدة البيانات: المجال، ip_scope (CIDR)، redis_host (IP الرئيسي على Net X)، الحالة الصحية.