413 Request Entity Too Large使用Django Admin和Nginx配置上传文件

cnh2zyt3  于 5个月前  发布在  Nginx
关注(0)|答案(1)|浏览(35)

每当我上传一个小文件,如图像,数据被成功保存。但是,当我上传一个音频文件,我得到这个错误:413请求实体太大。文件大小约为8 MB。令人困惑的部分是,在开发过程中很容易上传这些文件,但现在网站是活的,它不起作用。我读到你可以改变上传大小的限制,但似乎无法弄清楚。我读到的另一件事是,你应该有文件上传到服务器,你可以使用Nginx。我想我配置了它;我键入了命令

scp -r * root@[my ip address] /usr/share/nginx/html

字符串
我的媒体文件夹的文件已经上传到那里了,现在文件不是自动放进去的,而是发到项目的媒体文件夹里了,不是应该自动上传到Nginx服务器吗?x1c 0d1xx 1c 1d 1xx 1c 2d 1x

i2byvkas

i2byvkas1#

默认情况下,nginx配置为允许客户端的最大主体大小为1 MB。您正在上传的文件(~ 8 MB)大于1 MB,这就是为什么返回413(请求实体太大)错误。
要解决此问题,只需编辑nginx.conf并添加client_max_body_size配置,如下所示:

######################
    # HTTP server
    ######################
    server {
        ...
        listen       80;
        server_name  xxxx.com;
        client_max_body_size 20M;
        ...
    }

字符串
如果您也配置了HTTPS,请确保在那里也添加client_max_body_size

######################
    # HTTPS server
    ######################
    server {
        ...
        listen       443 default_server ssl;
        server_name  xxxx.com;
        client_max_body_size 20M;
        ...
    }


重新加载你的服务器,你应该很好!

[服务器]$sudo service nginx reload

有关client_max_body_size的更多信息,请访问:http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
Client_max_body_size大小;
默认值:client_max_body_size 1 m;
上下文:http、服务器、位置
设置客户端请求正文的最大允许大小,在“Content-Length”请求标头字段中指定。如果请求中的大小超过配置的值,则向客户端返回413(请求实体太大)错误。请注意,浏览器无法正确显示此错误。将size设置为0将禁用对客户端请求正文大小的检查。

相关问题