본문 바로가기

WebServer/apache

Request Entity Too Large 오류

참고: http://stackoverflow.com/questions/3718571/request-entity-too-large-php/3719358


CMS 페이지는 내부 페이지라 한동안 방치하다가 전 페이지에 SSL 적용을 해야한다고 가이드가 내려왔다.

그래서 작업을 하다보니 Request Entity Too Large 오류가 발생하였다.

특정 페이지에서 파일 업로드를 할 경우 Request Entity Too Large 오류가 발생하는 것이다.

좀 이상한 건 파일 업로드 전용 페이지에서는 업로드가 정상적으로 이루어지나, Form에 다른 데이터가 많이 섞여 있는 페이지에서는 Request Entity Too Large오류가 발생한다는 것이다.

이 외의 페이지에서는 파일 업로드가 없어서 확인을 하지 못했지만, 현재 있는 곳 중에 비교하자면 이 차이점만 확인이 됐다. 아주 오래된 페이지라 apache + resin을 사용중인데... 이게 오래되서 spring이 1.1.1 버전 인듯하다... tomcat으로 바꾸고 싶으나 잠깐 시도해보니 jdk 버전과 tomcat 문제로 이게 더 많은 시간이 필요해보였다.


일딴 이전과 차이점은 http와 https 이니까 SSL 관련 설정이어야 하는데, 검색이 쉽지 않다.

찾은 것은 apache 설정에서 다음과 같이 추가하는 것이다.

<Directory 웹경로>

    Options FollowSymLinks

    AllowOverride All

    Order allow,deny

    allow from all

    SSLRenegBufferSize 201048600

</Directory>


SSLRenegBufferSize 뒤에 숫자는 bytes 단위로 기본값이 131072이다. 어쩐지... 대략 93k의 파일까지는 업로드가 되더라... 이게 아니라 왜 파일 업로드 전용 페이지에서는 업로드가 되는건지... 이건 아직도 모르겠다. 1M 조금 넘는 파일까지는 업로드 해보았으나 가능했다. 다른 것이라곤 입력필드가 엄청나게 많은 것 뿐인데...


아무튼 이렇게 해결하게 되었다. 검색하면 LimitRequestBody 등등.. 검색이 되는데, 이런 설정을 하면 파일 업로드 전용 페이지에서도 업로드가 불가능했다. 아~ 개운해!

시간이 되면 아파치 환경 설정관련해서 한번 정독을 해둬야겠다. 최근 이상하게 서버셋팅을 할 일이 늘고있다...