Tomcat + Spring 환경에서 특정한 POST 요청의 경우 리퀘스트에 포함된 파라메터 값을 읽지 못하는 경우가 있다. 톰켓에서 POST 요청 파라메터 처리와 관련하여 최대 허용 데이터 크기 제약이 있지 않나 의심을 하고 톰켓 자료를 검사해보았다.
톰켓 커넥터 자료에 따르면 POST 요청에 대하여 데이터 크기 제약을 설정할 수 있도록 되어 있고 디폴트로는 2MB (2,097,152) 값이 적용된다고 한다.
이를 위하여 Connector의 공통 속성중 MaxPostSize 이 사용되며 아래와 같은 특징을 갖는다.
- 톰켓에서 POST 형식의 요청에 대하여 파라메터 값을 파싱할 때 지원하는 최대 데이터 크기를 이미한다. 이 값이 0보다 적은 값으로 설정되면 제한이 비활성화 되며 지정하지 않는 경우 2,097,152 Bytes (2MB) 값이 적용된다.
- 추가로 FailedRequestFilter 를 사용하여 이 제한을 초과하는 요청을 거부하는 데 사용할 수 있다.
정리하면 커넥터 설정에서 MaxPostSize 값을 원한는 값으로 지정하는 것으로 문제를 해결하 수 있다. 아래는 5MB로 설정한 경우이다.
댓글 없음:
댓글 쓰기