묻고답하기
413 에러(request entity too large) 해결에 도움을 부탁드립니다ㅠ
2015.10.05 20:25
413 에러 관련해서 골머리를 앓고있는 중입니다..
로그를 봐도 브라우저단에서 띄우는거랑 별반없는 정보인데다가
이미 php.ini 에서 관련 옵션은 수십가지 경우의수를 생각해보고 전부 시도했지만 전부안먹힙니다
따라서 뭔가 다른쪽에 문제가있는거같은데
정리를 하자면..
※ 작은사이즈의 파일은 정상적으로 업로드됩니다. 하지만 100메가짜리를 올리려하니 413 트러블 슈팅.. (확장자와 무관합니다)
1. xe 사이트에서 파일업로드했더니 413 에러(request entity too large) 발생. (100% 시 사라짐)
2. 따라서 기존의 글들과 조언을 받아 php.ini 옵션 수정(이부분은 절대 문제없습니다.)
3. 그래서 modSec 'SecResponseBodyLimit' 을 찾아보았으나 없음.
4. 그래서 'LimitRequestBody' 을 찾아보았으나 없음.
5. 따라서 미해결중.. 업로드 설정 등 기초적인건 절때 문제없습니다. 저도 혹시나 해서 여러번봤습니다..
제가보기엔 modSec 쪽이나, 아파치 conf 쪽에 문제가있는거같습니다.
하지만 LimitRequestBody 0 이런 아파치 conf 는 찾을수가 없었습니다.
혹시나 해서 아파치 설정중 MaxKeepAliveRequests 가 413 에러와 관련이 있는지..
두손두발 다들었습니다.. 관련 포럼글이나 검색하고 수정할거 있나 찾아보고 하면서 답변 새로고침 하고 있겠습니다.
ㅜㅜ도움을주세요!
댓글 14
-
기진곰
2015.10.05 21:02
-
열혈개발
2015.10.05 21:21
기진곰님 댓글 감사드립니다. (정말 큰힘이되고있습니다)
우선 conf가 autoset(field-input) 형식으로작동해서 직접수정할수가없어서
인클루드로 저 위 값을 바로 테스트 하고오겠습니다.
-
열혈개발
2015.10.05 21:57
modsec2.conf 에서 directive 에 저항목을 추가하고 웹서버 재시작 해도
여전히 안됩니다. .ㅠㅠ
-
기진곰
2015.10.05 22:13
가능하면 mod_security를 통째로 비활성화시켜 놓고 테스트해 보세요. 아파치 자체의 문제인지 mod_security 설정 문제인지부터 확실하게 알아내야죠...
다양한 용량의 파일을 만들어서 정확히 어디에서부터 문제가 생기는지 확인해 보는 것도 좋겠습니다. 예를 들어 5M짜리 파일은 올라가는데 10M짜리가 안 올라간다면 9M, 8M, 7M짜리도 한번 업로드해 보는 거예요. 어디서 짤리는지 알아낸 후, 그것과 동일한 설정을 찾아볼 수도 있겠고요.
-
열혈개발
2015.10.05 22:15
네일단 modsec을 아파치 conf에서 off 설정정을 줘봤는데요 modsec이 off되어도 증상이 같았습니다
혹시 아파치 conf에서
<IfModule mod_fcgid.c>
FcgidMaxRequestLen 1073741824
</IfModule>이런게 있는데 이거랑관련이 있는건지.. 정말 모르겠네요.. 검색해봤더니 저건 정상인거같던데..
-
열혈개발
2015.10.05 22:18
아파치 conf 에는 LimitRequestBody 같은게 없는데.. 도대체 무엇이 413 에러를 만드는건지..
-
열혈개발
2015.10.05 22:33
애러로그에는 413 애러는 찾아볼수가없고 대신 제가방금 업로드 실패 후 바로 로그 용량 늘어나는거보고 그 내용이 뭔지 봤는데
[notice] Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips DAV/2 mod_bwlimited/1.4 mod_fcgid/2.3.9 configured -- resuming normal operations
[Mon Oct 05 13:23:30 2015] [error] [client 180.76.15.140] File does not exist: /usr/local/apache/htdocs/wp-content이런게 로그되더군요.. ㄷㄷ
File does not exist: /usr/local/apache/htdocs/wp-content
이거 일단 검색중입니다..
추가. 이건 무시되어도 되는 거라고 하네요..
SecFilterForceByteRange 이거도 관련이 있나 알아보는중입니다
-
열혈개발
2015.10.05 23:17
기진곰님 원인을 알아낸것 같습니다.. 현재 SSL 사용중인데.. 과거에 검색하다 SSL 관련 이슈들이 있길래 무시했지만
https://msdn.microsoft.com/ko-kr/library/cc737382(v=ws.10).aspx
이걸보니.. 뭔가 이게 원인인것같습니다..
-
열혈개발
2015.10.05 23:45
많은 댓글을 달아서 죄송합니다.. 뭔가 여기다 적어가며 하는게 마음이 편해지고 좋네요.
일단 ssl 해제후 업로드를 해본결과
일단은.. 413 에러가 나는건 마찬가지지만
ssl 있을때는 100% 에서 사라지고 콘솔에 에러가떳다면
ssl 없을때는 100%가 되면 다시처음부터 다시 업로드를 반복하더라구요?
일단 뭔가 더알아봐야되겟습니다..
-
열혈개발
2015.10.06 01:36
하.. 결국 결론이 났습니다..
클라우드플레어는 nginx 를 기반으로 서비스하고.. 이 nginx 제한을 이용해서
각 플랜에 따라 업로드 리밋을 정해놓고 있었습니다..
근데 Pro 플랜 조차 500 메가 제한이군요..
그래서 어찌할지 고민하다.. 클라우트플레어와 proxy 하지 않는 서브도메인을 upload.domain.com
이용하여 문제를 해결할수 있
다른분들이 혹시 제 댓글을 읽고 똑같이해도 안되실겁니다.
이유는 서브도메인은 ssl를 공유하지 못하고(not proxy by CFserver)
세션또한 공유하지 못하기 때문입니다 (이건 아파치 conf 로 설정가능)
혹시라도 저와같은 길을 걸으시는분들은 이 두가지를 해결하시면됩니다.
저는 이만 자러갑니다.. 하..
-
기진곰
2015.10.06 09:07
아, 클라우드플레어 문제였군요. 클라우드플레어 쓴다고 미리 좀 말씀해 주시지... ㅎㅎ
아무튼 원인과 우회방법을 찾으셨다니 다행입니다.
-
안
2020.12.19 12:17
당신의 운명이 혹시 3332=2333인가요?
2333=3332가 아니라요.
@ https://www.instagram.com/nabibobetdau/
-
안
2020.12.19 12:18
혹시 당신의 주소는 어딘가요??
-
안
2020.12.19 12:18
어딜 날아가고있어요
설정이 없으면 기본값으로 들어가 버립니다. 직접 추가해야 합니다.
SecRequestBodyAccess off
SecRequestBodyLimit 500000000
SecRequestBodyNoFilesLimit 500000000
MaxKeepAliveRequests와는 상관없는 것으로 보입니다.