nginx 客户端最大主体大小不起作用并导致HTTP 413

p8h8hvxi  于 2023-03-01  发布在  Nginx
关注(0)|答案(1)|浏览(162)

当我上传一个2 MB的文件到我的网络应用程序时,兄弟显示413 HTTP状态作为响应。但如果我上传一个500 KB的文件,它就可以工作了。

技术:

  • 版本(2.6.14)、版本确认、新版本(2.15.8)
  • Nginx1.21.6
  • SSL协议
  • 对接器(服务器2017年10月20日)
    分析

在Nginx配置文件中,我设置了 * 客户端最大主体大小为20 m;* 但是不起作用。如果我把这个值设置为30 k,然后尝试上传500 KB的文件,我的HTTP状态是413。经过一些尝试,我得出结论,如果文件小于1 MB,上传就可以了。但是如果文件大于1 MB,就会出现413,即使在Nginx中有这样的配置:* 客户最大体型20米;*
"别的东西"
如果限制为30 k,并尝试上载500 KB,则错误消息为

413 Request Entity Too Large
nginx/1.21.6

如果限制为30 k,并且尝试上传2 MB,则错误消息如下:版本号消失,就好像是另一个服务器响应

413 Request Entity Too Large
nginx

如果限制为20 m并尝试上传2 MB,则错误消息为

413 Request Entity Too Large
nginx

配置nginx

location ~ (/api|/mail-images|/swagger-ui|/v3/api-docs) {
        proxy_pass http://****;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cookie_path / "/; Secure; HttpOnly; SameSite=none;";
        client_max_body_size 20M;
    }

我已经用 client_max_body_size 关键字搜索了stackoverflow,并尝试提出的解决方案,但没有成功。
你有什么研究线索吗?
谢谢你的帮助,祝你有愉快的一天.

4sup72z8

4sup72z81#

你确定你总是命中给定的位置吗?如果是,那么错误来自你代理的服务,在这里:proxy_pass http://****;
您还需要配置该服务器,如果它也是NGINX,则默认的client_max_body_size1M

相关问题