티스토리 뷰

gitlab에 새로운 프로젝트를 push를 하는데 에러가 난다. 

 

RFC failed; 413 Request Entity Too Large

RFC failed; 413 Request Entity Too Large
위에는 Request Entity Too Large 라는 오류가 나타나지는 않지만 이 push 를 이클립스에서 해보면 이 메세지도 같이 출력이 된다. 어디에서 해도 413 에러가 나오며 안된다. 

 

413 에러에 대해 찾아보니 다음과 같았다. 

"Content-Length"요청 헤더 필드에 지정된 클라이언트 요청 본문의 최대 허용 크기를 설정합니다. 요청의 크기가 구성된 값을 초과하면 413 (Request Entity Too Large) 오류가 클라이언트에 반환됩니다.

 

원인

nginx의 reverse proxy의 client_max_body_size 너무 작게 잡혀 있어서 큰 용량의 프로젝트를 업로드할때 문제가 발생

 

해결

nginx의 client_max_body_size를 충분하게 설정.

 

apache라면 LimitRequestBody 를 충분하게 설정해준다. 

 

 

물론 이 해결방법은 nginx reverse proxy로 gitlab을 연결하고 있는 상황이어야 한다. 그리고 client_max_body_size 설정이 없거나 작게 잡혀 있는 상황이어야 한다. 그럼 어떻게 client_max_body_size를 정하는지 알아보자.

 

nginx의 reverse proxy 설정은 보통은 nginx.conf 에서 한다. 다른곳에서 했다면 그 파일을 수정한다. 

$ vi /etc/nginx/nginx.conf

Context는 http, server, location 중에 상황에 알맞는 곳으로 한다. 

location / {
    ...
    client_max_body_size      100m;            #default 1m
    ...
}

이런식으로 기본인 1m로 잡혀 있는것을 100m로 늘렸다. 자신의 상황에 맞게 크기를 조절해주면 된다. 

이렇게 설정을 하고 nginx 재기동을 하면 push가 잘 될것이다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31