HttpClientErrorException: 413 Request Entity Too Large异常与解决办法

02-25 10:37:41   来源:   评论: 点击:

spring RestTemplate报错HttpClientErrorException: 413 Request Entity Too Large异常与解决办法? 分析:正式环境小图可以上传,但是一遇到稍微大点的图就报413 Request Entity Too Large的错误,而测试环境小图大图都
HttpClientErrorException: 413 Request Entity Too Large异常与解决办法
 
entity Too Large); invoking error handler
20:42:58.314 [http-bio-8080-exec-51] ERROR c.h.s.c.UserPhotoController - 上传图片失败!
org.springframework.web.client.HttpClientErrorException: 413 Request Entity Too Large
        at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:88) ~[spring-web-3.2.7.RELEASE.jar:3.2.7.RELEASE]
        at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:556) ~[spring-web-3.2.7.RELEASE.jar:3.2.7.RELEASE]
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:514) ~[spring-web-3.2.7.RELEASE.jar:3.2.7.RELEASE]
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:472) ~[spring-web-3.2.7.RELEASE.jar:3.2.7.RELEASE]
        at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:420) ~[spring-web-3.2.7.RELEASE.jar:3.2.7.RELEASE]
 
 
原因分析:
 
spring RestTemplate报错HttpClientErrorException: 413 Request Entity Too Large异常与解决办法? 分析:正式环境小图可以上传,但是一遇到稍微大点的图就报413 Request Entity Too Large的错误,而测试环境小图大图都可以上传。看了下后台代码,处理逻辑都没问题,异常就有可能出在接口调用的地方。进一步分析发现正式和测试调用接口的方式不一样,正式环境是通过域名调用上传接口,而测试环境直接使用的是ip调用上传接口。正式环境使用的是nginx反向代理,问题就应该在这里。搜索了一下,好多说是nginx设置了允许上传的包的问题,这也就合乎上面的情况,后台没有任何异常信息,因为请求根本就没到达tomcat,tomcat日志也没有输出,nginx发现请求的包大于设置的值,接直接返回413了。
 
解决办法:将nginx的包大小限制调大,如图:
 

相关热词搜索:nginx 413错误 RestTemplate

上一篇:nginx搭建tcp代理服务器 下一篇:nginx负载下站点错误响应会导致其他节点重复响应问题的解
分享到: 收藏