首页 > 解决方案 > 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)图像文件都是通过相同的过程完成的。

有任何想法吗?

标签: djangonginxgunicorn

解决方案


在 Django 设置中设置FILE_UPLOAD_MAX_MEMORY_SIZE 参数,以字节为单位。

例如FILE_UPLOAD_MAX_MEMORY_SIZE = 20971520等于 20MB。


推荐阅读