当我上传一个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,并尝试提出的解决方案,但没有成功。
你有什么研究线索吗?
谢谢你的帮助,祝你有愉快的一天.
1条答案
按热度按时间4sup72z81#
你确定你总是命中给定的位置吗?如果是,那么错误来自你代理的服务,在这里:
proxy_pass http://****;
您还需要配置该服务器,如果它也是NGINX,则默认的
client_max_body_size
是1M
。