워드프레스 서버오류.....
서버에 파일을 업로드 할 때 발생했다면 대게는 업로드 할 수 있는 파일 용량의 한계를 넘겼기 때문이겠지만 워드프레스로 사이트를 제작하는 도중에 '저장하기'나 '업데이트'를 눌렀을 때 발생한다면 정말 난감하다. 아래와 같은 상황이다.
아파치 웹서버를 사용중이라면 LimitRequestBody 지시문을 살펴보자. 이는 본문의 크기(size)에 제한을 설정 할 때 사용하며 0(무제한) ~ 2,147,483,647(2GB)까지 설정할 수 있다. 단위는 byte이며, 기본값이 0이다. 웹서버의 설정에서 해당 지시문에 대한 특별한 설정이 없다면 아파치의 에러로그를 확인해보자. 아래는 해당 홈페이지의 에러로그이다.
ModSecurity: Request body no files data length is larger than the configured limit (131072).. Deny with code (413)
역시 mod security에서 발생하는 오류이다.
modsecurity의 설정(/etc/httpd/conf.d/mod_security.conf)중에서 SecRequestBodyLimit는 설정값을 넘기게 되면 아마도 500 internal server error가 발생했던 것으로 기억한다.(내 기억은 믿을 수가 없다...-_-) 이는 body size의 limit를 설정하는 것으로 무작정 크게 설정하는 것 보다는 오류가 발생하지 않는 선에서 최소로 잡아주는게 좋을 것 같다.....는 개인적인 생각이다. 물론 서버에 업로드 할 수 있는 파일 용량의 한계가 너무 작다면 이 값을 수정해야 한다. (웹서버의 설정과 php.ini, .htaccess 등의 설정은 환경에 따라서......)
SecRequestBodyNoFileLimit의 값은 기본값인 131072(128KB)이다. 이는 SecRequestBodyLimit와 비슷하지만 업로드 파일을 제외한 body size의 limit의 설정이다. 기본값이 살짝 작은감이 있는데 위의 그림에서와 같은 오류가 발생한다면 대략 1MB(1,048,576 byte) ~ 3MB(3,145,723 byte) 정도로 설정하면 충분할 것이다.
mod_security의 설정을 변경 한 후에는 웹서버를 재시동 해야 한다.
[결론] 내용이 조금 긴 3개의 페이지로 이루어진 내용을 하나의 페이지에 통합(?)하는 과정에서 413 Request Entity Too Large 오류를 만나고야 말았다. SecRequestBodyNoFileLimit의 값을 변경해서 해결했다.
Mod Security 관련글
2021.12.24 - [Linux/Web Server] - 413 Request Entity Too Large [modsecurity & apache]
2021.12.10 - [Linux/TIP] - 악성bot 차단하기 (feat. mj12bot.com/majestic12)
2021.08.22 - [Linux/Web Server] - 업로드 파일의 용량 제한 변경하기(feat. ModSecurity)
2021.04.21 - [Linux/Web Server] - 웹 서버의 정보 숨기기 (apache)
'Linux > Web Server' 카테고리의 다른 글
업로드 파일의 용량 제한 변경하기(feat. ModSecurity) (0) | 2021.08.22 |
---|---|
ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" (0) | 2021.06.25 |
apache - HTTP 30x [URL Redirection] (0) | 2021.06.07 |
웹 서버의 정보 숨기기 (apache) (2) | 2021.04.21 |
[CentOS8] httpd[proxy_fcgi:error] [pid 31nn:tid 14nn] ~ AH01071: Got error 'Primary script unknown' (0) | 2020.12.13 |
댓글