본문 바로가기

IT/Network

owncloud에서 업로드 시 Request too large 에러 해결

CentOS 버전을 7로 업그레이드 한 이후로,

owncloud를 웹 브라우저로 접근하여 파일을 올리면 "Request too large"라는 메시지가 발생하며 업로드가 안되는 현상이 발생하고 있었습니다.


파일이 커서 그런가 싶어서, 예전에 포스팅했던대로 .htaccess에서 upload_max_filesize랑 post_max_size를 수정했음에도 불구하고 해결이 안되더군요.

http://miraclepocket.tistory.com/entry/owncloud에서-513MB-이상의-파일-업로드하기 참고 )


원인을 못 찾고 계속 있었는데, 오늘 실마리를 하나 잡았습니다. :-)

Linux용 owncloud 클라이언트에서 조금 다르지만, 오류가 발생하더군요.


서버에서 httpd 에러 로그를 확인해보니 아래와 같은 에러가 있었습니다.


[Tue Dec 16 08:45:57.778371 2014] [:error] [pid 31575] [client XXX.XXX.XXX.XXX] ModSecurity: Request body (Content-Length) is larger than the configured limit (13107200). [hostname "cloud.vegetable.pe.kr"] 


열심히 구글링을 해서 찾아보니,

/etc/httpd/conf.d/mod_security.conf에서 SecRequestBodyLimit 항목의 값을 올려주라더군요.

13107200에서 화끈하게(?) 2147483648로 올려주고 service httpd restart.


이제 같은 에러는 안 나는데, 또 다른 에러가 하나 나더군요.


[Tue Dec 16 09:26:13.155176 2014] [:error] [pid 1686] [client  XXX.XXX.XXX.XXX] ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required. 


요것도 열심히 구글링...

마찬가지로 mod_security.conf에서 저 메시지에 나와있는 룰을 지워주거나 주석처리 해 주라네요.


주석처리 하고나니 400MB짜리 파일이 잘 올라갑니다. :-)


아무래도 Request too large가 나오던건 해결이 된 듯 한데,

이제 .htaccess에서 upload_max_filesize랑 post_max_size를 수정해서 기가바이트 단위의 파일도 올려봐야겠네요.


--- 2014년 12월 18일에 추가 ---

upload_max_filesize랑 post_max_size를 수정하니 큰 파일도 잘 올라갑니다.

어제 밤에 시험적으로 CentOS 7.0 DVD ISO 파일을 올려보았더니 잘 올라가더군요. :-)