본문 바로가기
Weblogic/Rejecting request since max request parameter limit exceeded

[ 웹로직 ] Rejecting request since max request parameter limit exceeded 10000

by 정윤재 2017. 3. 8.

<Error> <ServletContext> <BEA-000000> <Rejecting request since max request parameter limit exceeded 10000

 와 같은 오류 메시지가 나타나는 경우가 있다.

1. 발생 원인
요청된 HTTP의 request parameter 가 최대 설정을 초과할 경우 발생

2. 해결 방법
MaxRequestParameter 설정 (기본값 10,000)

3. 옵션 설명
  MaxRequestParameter는 HTTP Request에 포함될 수 있는 Paramter 개수를 설정
  악의적인 사용자의 공격을 막기 위한 로직이 추가됨 (CVE-2011-5035)
   - 2013년 1월부터 적용
   - WLS 10.3.5 PSU3 / WLS10.3.6 PSU1부터 로직 추가
  PSU 패치를 설치하지 않으면 해당 옵션은 기능을 하지 않음.

4. 설정 방법

config.xml 에

  <web-app-container>
    <max-request-parameter-count>100000</max-request-parameter-count>
  </web-app-container>

와 같이 최대값을 조정하여 설정해주면 된다.

하지만 이 값을 이렇게 설정 되어 있는 경우는 이유가 있고 

상식적으로 parameter 가 이렇게 많이 들어오는게 맞지는 않으므로 

이렇게 해결하는 것은 권장하지 않는다. (parameter 값을 줄이는게 답이다.)

 

위의 경우는 일반적인 경우고 나의 경우는

소스에서 post 방식으로 데이터 전송을 하고 있었는데 content-type 을 application/x-www-form-urlencoded 으로 전송 하고 있었다. 이렇게 되면 http body 내용이 key=value 패턴으로 encoding 되어 수많은 파라미터로

둔갑하게 된다. 결국 해당 content-type 을 변경 하여 해결하였다

 

 



댓글