一、状态码说明
HTTP状态码413表示"请求实体过大"。这个状态码通常在客户端尝试上传的数据量超出服务器所能处理的范围时触发。服务器会拒绝处理该请求,并返回这个状态码,以提示客户端减少请求的大小。
二、解决办法
可以通过修改nginx配置解决。nginx有个参数client_max_body_size(默认认是1m),可以修改限制请求实体的大小,把它改大点就可以了。
- 打开nginx配置文件 nginx.conf(nginx文件/conf/nginx.conf)。
- 在http{}段中加入 client_max_body_size 20m。20m为允许上传的最大值,自己可进行修改。
- 保存后重启nginx
三、其他配置参数
client_max_body_size 20m; //文件大小限制,默认1m
client_header_timeout 1m;
client_body_timeout 1m;
proxy_connect_timeout 60s;
proxy_read_timeout 1m;
proxy_send_timeout 1m;
每个参数的意思:
1.client_max_body_size
限制请求体的大小,若超过所设定的大小,返回413错误。
2.client_header_timeout
读取请求头的超时时间,若超过所设定的大小,返回408错误。
3.client_body_timeout
读取请求实体的超时时间,若超过所设定的大小,返回413错误。
4.proxy_connect_timeout
http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒。
5.proxy_read_timeout
http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒。
6.proxy_send_timeout
http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。