
1.(1)视频分发对带宽和延迟敏感,特别是直播与VOD有不同需求。
1.(2)CDN通常用于缓存静态资源,但对视频缓存策略有更多可控项。
1.(3)某些场景需要CDN不缓存视频内容,例如需要实时鉴权、版权控制或防止盗链。
1.(4)不缓存会把压力回流到源站,必须考虑服务器/VPS/主机与域名解析策略。
1.(5)本文将讨论不缓存的实现原理、直播与VOD的不同处理、以及DDoS防御与真实案例。
2.(1)通过HTTP头控制:设置Cache-Control: no-cache/no-store/private和Pragma: no-cache可指示边缘不缓存。
2.(2)URL签名与短时有效策略:带有时间戳或签名的播放地址使边缘难以长期缓存。
2.(3)分片与实时传输:HLS/DASH短片段+低时长(如2s)配合Chunked CMAF可降低缓存效率。
2.(4)Set-Cookie与Vary: Cookie会让CDN选择不进行共享缓存或降低缓存命中。
2.(5)主动配置CDN规则:在CDN控制台将特定路径设置为“回源”或“不过期”,强制每次回源验证。
3.(1)直播对延迟和同步要求高,部分平台采用“边缘不中间缓存而仅加速转发”的模式。
3.(2)实现方式示例:nginx-rtmp在源站生成HLS,CDN配置Cache-Control:no-cache并设置短TTL,边缘多为回源拉流。
3.(3)注意并发影响:若CDN不缓存,10000并发观众会直接压到源站,需要足够出口带宽与负载均衡。
3.(4)低延迟策略:使用WebRTC或Chunked CMAF减少分片缓存,但需要更多CPU与内存支持。
3.(5)安全与鉴权:直播常用短时签名URL+AES/DRM,导致内容不能被边缘长期缓存以防盗链。
4.(1)VOD通常更适合缓存以节省带宽和降低延迟,常用Cache-Control:max-age或CDN永久缓存策略。
4.(2)但在付费或敏感内容下,也会选择不缓存或短缓存来实现访问控制与计费统计。
4.(3)示例配置(源站:VPS 8核/16GB/1Gbps,Nginx作为文件服务)见下表,表中为理论并发参考与磁盘/带宽配比。
4.(4)VOD分片策略:常用4s分片+合理CDN缓存,若设为不缓存则需额外考虑回源带宽峰值。
4.(5)监控建议:统计回源QPS、带宽峰值与磁盘IO,结合CDN日志调整是否允许边缘缓存。
| 项目 | 配置/数值 | 说明 |
| VPS规格 | 8 vCPU / 16 GB / NVMe 500GB | 适合作为源站,支持并发转发 |
| 网络带宽 | 1 Gbps 公网出口 | 理论峰值出流≈125 MB/s |
| 并发观众(估算) | ≈20,000(针对128 kbps平均码率) | 不缓存时全部回源的估算值 |
| 单路码率 | 1080p:6 Mbps;720p:3 Mbps | 实际并发随码率变化 |
5.(1)若CDN不缓存,攻击流量更容易直达源站,需要做好WAF与DDoS清洗能力。
5.(2)防护方法:在CDN侧启用流量清洗、速率限制以及按源IP/UA白名单策略。
5.(3)源站加固:启用Nginx限连接、limit_req、limit_conn和反向代理池以分散压力。
5.(4)负载均衡:使用多个源站(多VPS或云主机)+GSLB/Anycast域名策略实现冗余与容灾。
5.(5)日志与告警:实时分析CDN回源日志与源站负载曲线,触发自动扩容或切换到缓存策略。
6.(1)真实案例:某教育直播平台在大型公开课时选择部分路径不缓存以保证鉴权,每场峰值10万在线。
6.(2)该平台的做法:使用多区域源站(每区域2台 16 vCPU /32GB /10Gbps),CDN对鉴权请求回源,不缓存播放token。
6.(3)效果数据:鉴权回源QPS峰值20k/s,单区域带宽峰值8 Gbps,通过CDN清洗和源站扩容保证可用。
6.(4)配置示例(Nginx片段):add_header Cache-Control "no-cache, no-store, must-revalidate"; proxy_cache_bypass $http_authorization; limit_req_zone $binary_remote_addr zone=one:10m rate=100r/s;
6.(5)结论:CDN不缓存视频是用策略而非禁用缓存,直播与VOD需在延迟、成本与安全之间权衡,并结合服务器/VPS/域名与DDoS防护做好整体设计。