使用Django+nginx流式播放具有字节范围请求的音乐

2024-04-25 00:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Django+nginx构建一个音乐播放器应用程序,我需要一个支持字节范围请求的后端。在

Django正在正确验证媒体文件,但Django dev server不支持范围请求(206部分响应)。Nginx在使用this configuration之后直接提供字节范围请求,我验证了响应头是否具有内容范围。但是,我无法将请求从django转发到nginx,以提供内容。在

我尝试在django视图中使用X-Accel-Redirect,但是响应头的内容范围仍然没有达到nginx直接提供服务时的内容范围。在

  • Django dev server-身份验证已完成,但不支持字节范围(响应200)
  • Nginx-无身份验证,字节范围请求支持(响应206)
  • Django view+X-Accel-Redirect+nginx-身份验证完成,但不支持字节范围(响应200)

因此,我试图找到一种使用Django进行身份验证的方法,并通过nginx或其他静态文件服务器为字节范围请求提供支持。在


Tags: djangodev身份验证应用程序内容字节server音乐
1条回答
网友
1楼 · 发布于 2024-04-25 00:35:42
response = HttpResponse(content_type = mimetype, status=206)
response['Content-Disposition'] = "attachment; filename=%s" % \
                                         (fileModel.FileName)
response['Accept-Ranges'] = 'bytes'
response['X-Accel-Redirect'] = settings.MEDIA_URL + '/' + fileModel.FileData.MD5
response['X-Accel-Buffering'] = 'no'
return response

这对我来说是可行的。现在,使用nginx实现了django+流的身份验证。在

相关问题 更多 >