我的Django应用配置为nginx。媒体文件由nginx直接提供。我现在遇到的问题是,nginx禁止我上传的pdf文件使用403。 Pdf文件已上传到媒体/文件目录。当我这样做
sudo chown -R www-data:www-data media/file
文件将被加载。但是当我上传另一个pdf时,nginx再次返回403。我也尝试过
sudo chmod g+s media/file
那也不起作用。因此,每次我必须运行chown才能加载文件。
这仅在大文件中发生。大小小于1MB的文件可以正常工作。权限设置正确。但是,当上传大小大于1 MB的文件时,权限将更改。对于较大的文件,只有ubuntu组(aws中的默认用户)具有权限。对于小文件,可以使用www-data。
答案 0 :(得分:1)
唯一适用于我的解决方案是设置FILE_UPLOAD_PERMISSIONS是Django,如下所示
FILE_UPLOAD_PERMISSIONS = 0o644
可能有一种更清洁的方法。