URL查询参数中的Nginx范围请求

URL查询参数中的Nginx范围请求,nginx,video-streaming,http-live-streaming,Nginx,Video Streaming,Http Live Streaming,我正在构建一个HLS/DASH流媒体服务器,今天我发现使用单个大文件和范围请求比使用许多小文件要好——这正是Netflix和YouTube目前所做的 但有一个问题;因为我有一个不同的视频CDN域和实际的播放器页面(例如netflix.com-nflxvideo.net),CORS会进入并在每个请求中发送一个选项请求。因为播放器发送了很多请求,这会浪费字节 Netflix(也使用nginx)和YouTube通过URL或查询中的发送范围修复了此问题,因此浏览器不会发送选项请求: https://xx

我正在构建一个HLS/DASH流媒体服务器,今天我发现使用单个大文件和范围请求比使用许多小文件要好——这正是Netflix和YouTube目前所做的

但有一个问题;因为我有一个不同的视频CDN域和实际的播放器页面(例如netflix.com-nflxvideo.net),CORS会进入并在每个请求中发送一个选项请求。因为播放器发送了很多请求,这会浪费字节

Netflix(也使用nginx)和YouTube通过URL或查询中的发送范围修复了此问题,因此浏览器不会发送选项请求:
https://xx.nflxvideo.net/range/0-64209238?o=...

我正试图在Nginx中实现同样的目标,但在4个小时内我找不到任何方法。 我们在服务器中存储了文件,所以我们使用sendfile


谢谢

我找不到如何做到这一点,但为了不浪费OPTIONS请求的资源,有一个用于缓存OPTIONS请求的
Access Control Max Age

基本上,将它设置为Firefox的最大值86400秒(24小时),它就可以工作了

我之前跳过了这个标题,因为它在Chrome中只有10分钟,但很明显,它比Chrome76增加了2小时。这已经足够了,因为我们的视频的平均持续时间是100分钟


关于标题的更多信息是。

我知道没有标准的方法来执行此操作。您需要编写代码来解析URL并重新调整指定的字节。我当前正在解析URL,但找不到传递范围以尝试_文件或其他任何内容的方法。