Nginx · Redis · SSL · Lua

概述
主服务器仅充当协调器 - 身份验证、令牌生成、CDN 路由。
身份验证、令牌、编排。
通过 Redis 进行令牌验证,代理至 stream server。
源流服务器 (HLS/MPEG-TS)。
IPTV 播放器(VLC、STB、移动应用程序)。
客户端身份验证(B2C API/播放链接)
Main 在 Redis 中创建令牌(源 URL,24h TTL)
主要将客户端重定向到最佳 CDN (302)
客户端重定向到 CDN
CDN 通过 Main 的 Redis (Net X) 验证令牌
CDN 代理从 stream server 流式传输到客户端
倒退
公共互联网
CdnRouter 通过 /health 端点每 30 秒检查一次 CDN 运行状况。
没有 CDN 健康 → Main(安全网)上的本地 /cdn/
格式
重定向网址
CdnToken 自动检测并处理不同的源 URL 格式。
HLS 播放列表 — 直接使用,主播放列表过滤为单个视频变体 + 所有音轨
原始 MPEG-TS — 如果服务器支持(stream server 总是支持),则自动转换为 HLS,否则通过缓冲关闭来代理原始数据
文件(mp4、m4s、ts、mkv 等)——直接按原样代理,无需转换
DASH (mpd) — 按原样直接代理
对于 HLS 流,nginx 主体过滤器重写主播放列表 (index.m3u8) 以仅保留第一个视频变体,同时保留所有音频/字幕轨道。
之前(来自 stream server)
之后(交付给客户)
生成 32 字符的十六进制令牌,自动检测格式(HLS/MPEG-TS/文件),规范化 URL,使用 SETEX(24h TTL)存储在 Redis 中。
按客户端 IP 查找最佳健康 CDN(CIDR 匹配 + 健康检查)。
在 CDN 服务器上自动安装 nginx + lua-resty-redis + Redis。
数据库模型:域、ip_scope (CIDR)、redis_host(Net X 上的主 IP)、健康状态。