运行 nginx 的 django 服务器上的大型媒体文件出现 403 错误

2024-04-09

我正在使用 Nginx 和 Gunicorn 运行托管在 DigitalOcean 上的 Django 服务器。当我遇到 403 错误时,我尝试通过管理界面添加 2MB 图片。调查error.log指示权限被拒绝,如下:

2017/06/27 01:03:29 [error] 1643#1643: *30 open() "/home/brian/nydkc11/nydkc11/nydkcd11/media/image_main/dtc1.jpg" failed (13: Permission denied), client: 108.29.217.25, server: nydkc11.org, request: "GET /media/image_main/dtc1.jpg HTTP/1.1", host: "nydkc11.org", referrer: "http://nydkc11.org/admin/blog/image/7/change/"

然而,最奇怪的是,较小的图像文件也可以正常工作(大约 18 kb 左右)。任何人都知道为什么较大的媒体文件可能会触发该问题,以及我应该如何解决它?

我必须设置client_max_body_size to 100M in my nginx.conf,如果这是一件有用的事情。


我刚刚遇到了完全相同的问题。感谢您的帖子,否则我仍然会在错误的地方搜索。

要解决这个问题,你实际上要做not需要设置DATA_UPLOAD_MAX_MEMORY_SIZE只要您仅在上传文件时遇到此错误。这Django 文档 https://docs.djangoproject.com/en/1.11/ref/settings/#data-upload-max-memory-size链接到其他值,FILE_UPLOAD_MAX_MEMORY_SIZE, here https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-FILE_UPLOAD_MAX_MEMORY_SIZE.

Setting FILE_UPLOAD_MAX_MEMORY_SIZE达到我的更高极限settings.py解决了问题以及上述问题client_max_body_size in nginx.conf.

这将上传最大值设置为大约200 MB:

FILE_UPLOAD_MAX_MEMORY_SIZE = 200000000

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 nginx 的 django 服务器上的大型媒体文件出现 403 错误 的相关文章

随机推荐