PDF 파일다운로드 보기 서비스에러 사례.
== 톰캣 파일업로드 용량 Error ( 자바 파일다운로드 안될때!! )
1.
pdf 파일 생성 서버에서 HTTP resonse code 413이 응답되는것을 보고
서버에서 response limit 증가 설정을 함
-조치방법--> nginx서버에서 response limit 값을 100M설정.
-에러이유--> 서버에서 PDF를 만들 때 데이터를 약 5000건 이상 XML로 만들어서
전달하는 데이터의 양이 많았던 것으로 예상됨. )
2. 413 에러는 사라졌으나 응답이 0Byte로 오면서 PDF가 다운로드 되지 않음.
413 에러만 사라졌을 뿐 문제가 해결되지 않음
3. PDF를 만드는 서버로직에 catch로 exception 추적.
그러나 exception을 떨어뜨리지 않음.
해당 서비스에러는 특정건에서만 발생하고 다른 케이스인 경우는 잘 서비스되는
상황이었고, 문제의 원인이 tomcat에 있지 않을까 추측
(왜냐? 전달하는 parameter의 양이 많았기 때문. )
4. get말고 post시에도 최대파라미터 개수에 제한이 있다는 것을 찾아냄
참고 url : https://lee-mandu.tistory.com/280
tomcat의 maxParamterCount , maxPostSize를 0보다 작은 값으로 설정하면 파라미터 길이가 무제한으로 보내진다고 함.
5. 그렇다면 설정을 변경해보자.
톰캣은 기본적으로 설정을 변경하지 않으면 POST 타입으로
데이터를 전송할 때 POST BODY 사이즈가 2MB로 제한되어 있다고 함.
따라서 명시적으로 POST BODY SIZE를 지정해주면
파일업로드 용량관련 서비스에러를 해결할 수 있음.
* 설정파일 수정이기 때문에 톰캣이 기동중이라면 종료시키고 작업해야함.
1. $TOMCAT_HOME$/conf/server.xml 파일 열기
2. <Connector port="8080" ~ 부분에
maxPostSize="-1" maxParamterCount="-1" > 설정.
이때, 톰캣 7.0.63 버전 이전에는 0으로 설정해야 했으나
그 이후 버전은 0보다 작은 값으로 설정해야 된다고 하니 참고참고참고!
tomcat 설정변경 후, 전달하는 데이터양이 많은 pdf의 서비스에러문제 해결.
'Language > Java' 카테고리의 다른 글
captcha NoClassDefFoundError / No find fonts 캡챠오류 해결방법 (0) | 2020.12.28 |
---|---|
java.io.FileNotFoundException (Permission denied) 해결방법 (0) | 2019.10.07 |
Garbage Collection 쉽게 정리! (0) | 2019.06.21 |
no valid entries or contents found this is not a valid ooxml.docx 해결방법 (0) | 2019.02.22 |
인터페이스(interface) 개념정리 / abstract vs interface (펌) (0) | 2019.02.18 |