CommonsMultipartResolver 로 파일 최대 크기 maxUploadSize 설정 후 반응없을 때

2020. 10. 8. 11:34etc/error

환경 : spring 4.3, egov 3.7, tomcat 8.5, java 8

 

multipartResolver 를 사용하여 파일 업로드 시 최대 크기를 설정을 했더니 다음과 같은 증상이 나타났다.

 

CommonsMultipartResolver 에 파일 최대 크기 maxUploadSize 를 500MB로 설정 후 설정한 크기보다 큰 파일을 업로드 하면 반응이 없다.

 

로그도 반응이 없고...

 

브라우저에서는 다음과 같이 나온다.

 

ERR_CONNETION_RESET 에러에 관해서는 검색하면 많이 나오는데

 

간단히 설명하자면 서버에서 반응이 없어서 기다리다 지친 브라우저가 오류를 발생시킨다고 보면된다.

(FIN 패킷을 못받을 경우 발생함)

 

이 경우는 tomcat 의 maxSwallowSize 속성을 변경하면 된다.

 

maxSwallowSize 속성은 다음과 같다.

The maximum number of request body bytes (excluding transfer encoding overhead) that will be swallowed by Tomcat for an aborted upload. An aborted upload is when Tomcat knows that the request body is going to be ignored but the client still sends it. If Tomcat does not swallow the body the client is unlikely to see the response. If not specified the default of 2097152 (2 megabytes) will be used. A value of less than zero indicates that no limit should be enforced.

출처 : tomcat.apache.org/tomcat-8.5-doc/config/http.html#Common_Attributes

 

 

요청 시 최대 업로드 크기를 설정하며 기본값은 2MB 이다.

 

그럼 이걸 늘려주면되는데 무제한으로 하고 싶다면 -1을 주면 된다.

 

<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443" maxSwallowSize="-1"/>

 

끝 ~