Request Entity Too Large
The requested resource
/folder/
does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.

용량이 별로 크지도 않은 파일을 업로드시켰는데 위와 같은 에러 메세지가 떴다. 분명히 php.ini
에서 post_max_size
랑 upload_max_filesize
의 용량을 늘렸는데도 그랬다.
문제는 PHP가 아니라 아파치였다. 아파치의 확장인 Security Module (mod_security)에서 요청 본문(RequestBody)의 용량이 제한돼 있었던 것이다.
해법 1. 설정 용량을 늘린다
httpd-modsecurity.conf
파일을 찾아서 메모장이나 텍스트 편집기로 열어서 아래 문구를 찾는다.
SecRequestBodyLimit 131072
131072는 128KB인데, 숫자를 늘리면 된다.
실서버라면 이 용량을 늘려 주면 된다.
그런데 로컬에서 개발용 서버를 돌리는 것이라면 굳이 Security Module을 활성화할 필요가 없다.
해법2. mod_security를 비활성화한다
아파치의 설정 파일(httpd.conf
이나 apache.conf
) 파일을 연다. 그리고 아래 부분을 찾는다.
Include conf/extra/httpd-modsecurity.conf
이걸 주석 처리해 준다. 아파치 설정파일의 주석 처리는 맨 앞에 #을 붙이는 것이다.
# Include conf/extra/httpd-modsecurity.conf
꼭 경로가 위의 예시와 동일하지 않아도 된다. modsecurity
라는 키워드를 기억하고, 관련 설정을 Include하고 있는 부분을 주석처리하면 되는 것이다.
혹 우분투 서버라면 간단히 아래 명령어를 사용한다.
sudo a2dismod security2
댓글 남기기