logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

Git Http Backend Upload Size 설정 - Http 500 Error 해결

by digipine posted Nov 02, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

GIT에서 HTTP 로 업로드할 때 Http 500 에러가 발생합니다.

소스파일의 크기가 커지면 업로드 시 용량 초과가 발생하고 타임아웃도 생기게 됩니다.

그래서 500 에러가 발생하는 데요.

아래와 같이 해주면 해결 가능합니다.

Phabricator  사용하시는 분들은 필히 설정 해두셔야 합니다.

 

1. Apache2 업로드 크기 수정

 누구나 업로드나 다운로드가 가능한 자료실을 운영하고 있을 경우 사이즈가 큰 파일을 업로드 또는 다운로드 할 경우 부하가 많이 걸리게 되어 결국 시스템의 성능 저하를 유발하게 됩니다.

아파치에서는 웹 서버에서 업로드,다운로드 할 수 있는 파일의 용량을 제한하는 LimitRequestBody 기능을 이용할 수 있습니다.LimitRequestBody 는 클라이언트가 요청시 http 프로토콜을 통해 서버가 제공할 수 있는 메시지의 크기를 byte 단위로 정의하는 것으로 무한대를 의미하는 0부터 2,147,483,647(2Giga) 까지 설정 가능하며 이 설정으로 대용량의 파일을 업로드,다운로드 하는 형태의 서비스 거부 공격을 효과적으로 차단할 수 있습니다. 
 
이를 설정하는 방법은메 아파치의 conf 를 열어 아래와 같이 라인을 추가하면 됩니다.

<Directory /> 
   LimitRequestBody 500000000 
</Directory> 
< Directory /home/userdir/> 
   LimitRequestBody 1024000000 
</Directory> 

 
위와 같이 LimitRequestBody 를 설정하면 아파치 웹서버를 이용하여 ( / )는 모든 파일의 사이즈를 500M로 제한하고 /home/userdir/ 폴더에 대해서는 1000M로 제한하게 됩니다.

위와 같이 설정시 지정된 사이즈를 초과하는 파일을 업로드/다운로드 시에는 Reuqest Entity Too Large 라는 에러 메시지가 뜨며 업로드나 다운로드가 되지 않게 됩니다.

다른 문제로 대용량 파일 업로드시 업로드가 끊기는 현상이 있을경우 Timeout 값을 확인해보는 것이 좋습니다클라이언트의 요청에 의해 서버와 연결이 되었을 때 클라이언트와 서버간에 아무런 메시지가 발생하지 않았을 때 오류로 처리될 시간을
초단위로 설정합니다. 초기값은 1200이며 보통은 300초로 지정을 합니다. 네트웍의 속도가 나쁠수록 수치값은 높게 설정하는 것이 좋습니다

 

2. Php.ini 수정

 file_uploads = On
 파일 업로드를 허용할지 설정하는 부분으로 당연히 ON

 upload_max_filesize = 8192M
 최대 업로드 파일 사이즈입니다. 원하시는 용량만큼 설정
 post_max_size = 10240M
 Post방식으로 넘겨질 최대 데이터 사이즈

 max_execution_time = 30000
 최대 실행시간. 대용량 파일일수록 시간이 많이 걸리니 당연 실행시간을 늘려 주어야 합니다.

 0으로 세팅하면 무한대이니 알아서 적당히 세팅해 주십시오.

 memory_limit = -1 -> 무한대
 최대 메모리 사용량 가능 용량

 크기를 memory_limit > post_max_size > upload_man_filesize 순으로 설정

TAG •

List of Articles
No. Subject Author Date Views
85 Let's Encrypt SSL 인증서 자동 갱신 설정 방법 digipine 2020.09.03 750
84 Certbot으로 무료 인증서 발급 받기 digipine 2020.09.03 534
83 MongoDB 설치 및 C 개발 도구 설정 1 digipine 2020.09.03 452
82 mongoose 3.8 싱글 파일 소스 코드 file digipine 2020.09.01 341
81 [iOS] Bluetooth로 App을 백그라운드 모드로 실행는 방법 lizard2019 2020.02.11 3539
80 How to Build FFMpeg for LAVFilters file lizard2019 2019.06.05 1457
79 How to FFMpeg Windows Build with msys 1.0 and MinGW_64 file lizard2019 2019.06.05 2222
78 C/C++ struct 패딩(padding) 원리 이해 lizard2019 2019.03.04 2156
77 gcc thread and mutex 사용법 lizard2019 2019.02.27 1208
76 윈도우즈 도스 커멘드(Command) 네트워크 관련 명령어 lizard2019 2019.02.07 1351
75 Ubuntu 우분투 설치 가이드 lizard2019 2019.01.29 785
74 Linux/OSX bash에서 source 명령어 lizard2019 2019.01.07 783
73 Xcode 없이 맥에 '명령어 라인 도구(Command Line Tools)'를 설치하는 방법 엉뚱도마뱀 2018.12.26 2866
72 언어 IDE 별로 git ignore 파일을 자동으로 만들어 주는 사이트 엉뚱도마뱀 2018.12.17 122896
71 [Swift, MacOS] 맥 한글 파일명이 윈도우에서 자소 분리되는 현상 해결, NFD, NFC 엉뚱도마뱀 2018.12.11 20085
70 수학적 구조물 모델링 만들기 소개 비디오 엉뚱도마뱀 2018.09.24 1052
69 Photoshop CC 2018 한글 영문 변환 언어팩, 포토샵 언어변경 file 엉뚱도마뱀 2018.07.04 8534
68 LibVLC 미디어 재생기 프로그래밍 방법 C++, QT 엉뚱도마뱀 2018.04.20 2508
67 select 와 epoll 엉뚱도마뱀 2017.12.11 831
66 비밀번호 해쉬에 Salt(소금) 첨가하기 file 엉뚱도마뱀 2017.11.23 4284
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6