django - Nginx 403 禁止提供大图像
问题描述
我已经设置了一个 Django 应用程序,用户可以在其中上传他的图像,并由 Nginx 和 Gunicorn 提供服务。
我在上传大型图像文件时遇到问题,该文件没有获得 Nginx 提供的适当权限
location /medias/images/ {
root /var/www/html;
}
上传文件时,较大的文件只获得用户的读取权限,而不是组/其他:
-rw------- 1 user1 user1 4.9M Mar 15 14:35 File1.jpg
-rw------- 1 user1 user1 3.7M Mar 15 14:31 File2.jpg
-rw-r--r-- 1 user1 user1 110K Mar 15 14:44 File3.pdf
-rw-r--r-- 1 user1 user1 34K Mar 15 09:17 File4.docx
-rw-r--r-- 1 user1 user1 136K Mar 15 14:45 File5.jpg
-rw-r--r-- 1 user1 user1 92K Mar 15 14:22 File6.doc
-rw------- 1 user1 user1 4.4M Mar 15 14:25 File7.jpg
但是,较小的图像可以很好地获得它们的权限并且可以正确提供。
关键是上传小型和半大型(3mb)图像文件都是通过相同的过程完成的。
有任何想法吗?
解决方案
在 Django 设置中设置FILE_UPLOAD_MAX_MEMORY_SIZE
参数,以字节为单位。
例如FILE_UPLOAD_MAX_MEMORY_SIZE = 20971520
等于 20MB。
推荐阅读
- php - 警告:file_get_contents():文件名不能为空
- python - 提取 XML 文件中的项目并将其转换为 Python 中的 dict
- oracle - all_scheduler_job_run_details 列中的不同时区
- neural-network - 对象检测的可能回归损失
- symfony - 我不能有超过 2 个 vichuploader 映射 | symfony 3.4
- python - 使用 Python 和 Pandas 将 Excel 工作表拆分为单独的工作表
- python - Pydantic:根据其他字段的值在验证器中设置字段 None
- angular - 具有 Spring Boot 安全性和 Keycloak 的 Angular 前端
- node.js - 如何读取每一行并插入数据库以及删除不需要的空格以及多个逗号
- ios - 如何解析两个 XML 标签之间的所有 XML 标签及其内容?TBXML