我很惊讶,但是我在Google中找不到完全相同的要求的人,所以我去了。我正在设计一个Django项目,并且我知道敏感文件将由用户上传,因此我需要引入某种权限控制机制(目前考虑使用JWT)。
要使我的项目从可操作的角度(计划在容器中运行)无状态,我想将用户上传的文件存储在分布式对象存储系统(S3 / minio)中。
这是我迷路的地方。我知道在“常规” Django生产环境中,用户上传的媒体文件倾向于进入./media
文件夹,并且Web服务器无需任何身份验证即可直接从那里提供文件。对我来说,这是冒险且不可接受的,因为共享的直接链接可能会被侦听/泄露,并且未经授权的人可以访问敏感文档。
包装:
谢谢!
答案 0 :(得分:1)
我认为您的搜索查询错误,是因为您不知道要查找的内容,这是Django Storage engine:
如果您需要提供自定义文件存储(一个常见的示例是在某个远程系统上存储文件),则可以通过定义自定义存储类来实现。
当然,它已经been done for you:
django-storages是Django的自定义存储后端的集合。
- Amazon S3
- Apache Libcloud
- 天蓝色存储
- 数字海洋
- DropBox
- FTP
- Google云存储 SFTP