在 NAS 中使用 Nginx + Django 高效服务媒体的最佳实践

问题描述

阅读了许多与 this one 类似的其他主题后,我仍然不确定什么是最好的。 假设我有一个负载平衡器,其中有 2 个服务器,其中有 Nginx + Django,然后是一个单独的数据库服务器和 3 个带有图像和视频的存储服务器。
我如何最好地提供来自 3 个存储服务器的媒体文件?我目前计划做的是为所有请求保留我的 2 个入口点。对媒体文件的请求将由 Django 在那里进行身份验证,然后我将使用 X-accel 直接代理将媒体请求传递给存储服务器。但是,Nginx 文档说明了这一点:

Nginx 代理请求时,它会将请求发送到指定的代理服务器,获取响应并将其发送回客户端。

这是否意味着 2 个入口点服务器的负载相同?我是这样理解的,效率不高。

enter image description here

我想要实现的是这样的:

enter image description here

请求由 Django 验证,重定向到存储服务器,存储服务器将响应直接发送到客户端。这可能吗?

我想服务媒体文件的最有效方式是删除应用服务器步骤,如下所示:

enter image description here

然而,这意味着我无法使用 Django 验证媒体请求,必须使用安全链接,这是 Nginxsecure link module。这些链接的安全性如何?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)