上传文件返回413错误同时出现has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header...
背景:由于上传apk版本出现413的错误,同时报出跨域问题,但是测试环境没有出现该问题
原因:因为生产环境请求的接口是nginx反向代理时后的域名。测试环境没有配置nginx直接是ip+端口号请求。
解决方法:在ngixn.conf配置文件中添加 client_max_body_size属性值。
Syntax: client_max_body_size size;
Default: client_max_body_size 1m; (默认是1M)
Context: http, server, location
Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field.
If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client.
Please be aware that browsers cannot correctly display this error.
Setting size to 0 disables checking of client request body size.
可以选择在http{ }中设置:client_max_body_size 20m;
也可以选择在server{ }中设置:client_max_body_size 20m;
还可以选择在location{ }中设置:client_max_body_size 20m;
三者到区别是:http{} 中控制着所有nginx收到的请求。而报文大小限制设置在server{}中,则控制该server收到的请求报文大小,同理,如果配置在location中,则报文大小限制,只对匹配了location 路由规则的请求生效。