大文件上传到Nginx失败

时间:2018-08-16 09:35:41

标签: nginx

我正在使用nginx作为反向代理。客户端应用程序在POST请求中上传几个图像文件。对于较大的请求,请求通常在8M到9M之间。我尝试了多个选项,包括设置client_max_body_size。我已将该值增加到300M。我还尝试了其他一些选择。

nginx配置文件如下:

server {
    listen 443 ssl ;
    server_name app.example.com;
    charset utf-8;
    client_max_body_size 200M;
    # client_body_in_file_only on;
    # client_body_temp_path /var/spool/nginx;
    # client_body_buffer_size 32K;
    location / {
        alias /var/www/html/;
        try_files $uri /index.html;
    }
    location /api {
        proxy_pass http://localhost:8092/api;
        proxy_set_header Host $host;
    }
}

错误日志是

  

[错误] 22959#22959:* 4客户端打算发送太大的正文:8326396字节,客户端:

1 个答案:

答案 0 :(得分:1)

您可能会遇到配置范围问题,请尝试在client_max_body_size 200M;块中声明http{}。您会在/etc/nginx/nginx.conf

上找到它

如果这不起作用,请尝试在特定的location{}块内声明。

如果这不起作用,则可能是您配置中存在一些错误,您可以使用

进行检查
$ nginx -t

如果没有错误,请尝试重新启动服务器,而不是仅重新加载服务器:

$ service nginx restart

如果毕竟没有成功,则可能是您的API的最大上传大小有问题,具体取决于系统堆栈中如何解决该问题的最大差异。