Nginx · Redis · SSL · Lua

סקירה כללית
השרת הראשי פועל כמתזמר בלבד - אימות, יצירת אסימונים, ניתוב CDN.
אישור, אסימונים, תזמור.
אימות אסימון באמצעות Redis, פרוקסי ל- stream server.
שרתי זרימת מקור (HLS/MPEG-TS).
נגן IPTV (VLC, STB, אפליקציה לנייד).
לקוח מאמת (B2C API / קישור הפעלה)
Main יוצר אסימון ב-Redis (כתובת אתר מקור, 24 שעות TTL)
ראשי מפנה את הלקוח ל-CDN הטוב ביותר (302)
הלקוח עוקב אחר הפניה מחדש ל-CDN
CDN מאמת את האסימון באמצעות Redis של Main (Net X)
פרוקסי CDN זורמים מ- stream server ללקוח
נסיגה
אינטרנט ציבורי
CdnRouter בודק את תקינות ה-CDN כל 30 שניות דרך /health endpoint.
אין CDN בריא → מקומי /cdn/ ב-Main (רשת ביטחון)
פוּרמָט
כתובת אתר להפניה מחדש
CdnToken מזהה ומטפל באופן אוטומטי בפורמטים שונים של כתובת URL מקור.
רשימת השמעה HLS - בשימוש ישיר, רשימת השמעה ראשית מסוננת לגרסה בודדת של וידאו + כל רצועות האודיו
MPEG-TS גולמי - מומר אוטומטית ל-HLS אם השרת תומך בכך (stream server תמיד עושה זאת), אחרת, פרוקסי גולמי עם חציצה מושבתת
קובץ (mp4, m4s, ts, mkv וכו') - פרוקסי ישירות כפי שהוא, ללא המרה
DASH (mpd) - פרוקסי ישירות כפי שהוא
עבור זרמי HLS, מסנן הגוף של nginx משכתב את רשימת ההשמעה הראשית (index.m3u8) כדי לשמור רק על גרסת הווידאו הראשונה תוך שמירה על כל רצועות האודיו/כתוביות.
לפני (מ- stream server)
לאחר (נמסר ללקוח)
מייצר אסימוני hex של 32 תווים, מזהה אוטומטית פורמט (HLS/MPEG-TS/קובץ), מנרמל כתובת URL, מאחסן ב-Redis עם SETEX (24 שעות TTL).
מוצא את ה-CDN הבריא הטוב ביותר לפי לקוח IP (התאמה CIDR + בדיקת תקינות).
מתקין אוטומטית את nginx + lua-resty-redis + Redis בשרתי CDN.
מודל DB: דומיין, ip_scope (CIDR), redis_host (IP ראשי ברשת X), מצב בריאותי.