gpt4 book ai didi

django - 错误: client intended to send too large body

转载 作者:行者123 更新时间:2023-12-02 09:56:03 32 4
gpt4 key购买 nike

我正在使用 django-resto 将媒体文件上传到远程服务器。但是,当我尝试上传时,它给出了 django_resto.storage: Failed on create

并在消息下方生成日志,

open() "/var/www/media/media/events/video/clipcanvas_14348_H264_640x360.mp4"
failed (2: No such file or directory),
client: 172.17.42.1,
server: ,
request: "HEAD /media/events/video/clipcanvas.mp4 HTTP/1.1",
host: "IP:8081"

client intended to send too large body:
body: 2139606 bytes,
client: *.*.*.*,
server: ,
request: "PUT /media/events/video/clipcanvas.mp4 HTTP/1.1",
host: "IP:8081"

有人可以解释一下为什么我会收到这样的错误吗?

媒体服务器设置,

DEFAULT_FILE_STORAGE = 'django_resto.storage.DistributedStorage'
RESTO_MEDIA_HOSTS = ['IP:8081']

Nginx 配置,

server { 
listen 192.168.0.10;
location / {
root /var/www/media;
dav_methods PUT DELETE;
create_full_put_path on;
dav_access user:rw group:r all:r;
allow 192.168.0.1/24; deny all;
}
}

最佳答案

此问题是由于 nginx 默认值较低 client_max_body_size 引起的值(1MB)。

您需要设置 client_max_body_size <value> 到以下上下文 block 之一中更高的内容:

  • http
  • 地点
  • 服务器

代码将是这样的:

server {
# set the max body size across the site to be 20mb
client_max_body_size 20m;
}

我个人会把client_max_body_sizelocation上堵塞。这意味着您的新最大正文尺寸不会进行全局设置,而是针对您网站的特定子位置进行设置。

server {
# site default is 1mb
client_max_body_size 1m;


location /user/profiles/upload {
# profile images should be no more than 2m
client_max_body_size 5m;
# the rest of your website will still use 1m max body size
}
}

注意:请记住,您需要重新加载配置文件才能使更改生效。

另请注意:您只需创建 client_max_body_size您需要的值再加一点。阻止人们发送巨大的文件来试图破坏您的服务器。

关于django - 错误: client intended to send too large body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30480740/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com