“client_max_body_size”가 설정된 Nginx의“413 Request Entity Too Large”


53

26Gb 파일을 업로드하고 있지만 다음을 받고 있습니다.

413 Request Entity Too Large

나는 이것이 관련되어 client_max_body_size있으므로이 매개 변수를로 설정했습니다 30000M.

  location /supercap {
    root  /media/ss/synology_office/server_Seq-Cap/;
    index index.html;
    proxy_pass  http://api/supercap;
  }

  location /supercap/pipe {
    client_max_body_size 30000M;
    client_body_buffer_size 200000k;
    proxy_pass  http://api/supercap/pipe;
    client_body_temp_path /media/ss/synology_office/server_Seq-Cap/tmp_nginx;
  }

그러나 전체 파일이 업로드되면 여전히이 오류가 발생합니다.

답변:


68

NGINX 구성 파일 수정

sudo nano /etc/nginx/nginx.conf

이 변수를 검색하십시오 : client_max_body_size. 예를 들어 크기를 100M으로 늘리면됩니다. 존재하지 않는 경우 http 내부와 끝에 추가 할 수 있습니다

client_max_body_size 100M;

변경 사항을 적용하려면 nginx를 다시 시작하십시오.

sudo service nginx restart

업로드 제한을 위해 PHP.ini 파일 수정

모든 구성에 필요하지는 않지만 PHP 구성으로 제한을 벗어나지 않도록 PHP 업로드 설정을 수정해야 할 수도 있습니다.

PHP5-FPM을 사용하는 경우 다음 명령을 사용하십시오.

sudo nano /etc/php5/fpm/php.ini

PHP7.0-FPM을 사용하는 경우 다음 명령을 사용하십시오.

sudo nano /etc/php/7.0/fpm/php.ini

이제 다음 지시문을 하나씩 찾으십시오.

upload_max_filesize
post_max_size

기본적으로 8M과 2M입니다.

upload_max_filesize = 100M
post_max_size = 100M

마지막으로 저장하고 PHP를 다시 시작하십시오.

PHP5-FPM 사용자는 이것을 사용합니다.

sudo service php5-fpm restart

PHP7.0-FPM 사용자는 이것을 사용합니다.

sudo service php7.0-fpm restart

잘 작동합니다!


1
왜 nginx.conf에서 client_max_body_size에 100Mb가 필요합니까?
user2979409

당신은 충분히 당신의 요구 사항 만 1백메가바이트 따라 모든 값을 넣을 수 있습니다
Sukhjinder 싱

하지만 최대 30Gb 파일을 업로드하고 있습니다.
user2979409

최대 크기의 파일을 찾아서 해당 파일보다 더 많이 허용
Sukhjinder Singh

그래서 왜 client_max_body_size가 내 / location 내에서 작동하지 않습니까?
user2979409

9

해당 크기의 파일을 업로드하는 경우 다음을 사용하여 본문 크기 확인을 비활성화해야합니다.

client_max_body_size 0;

3

참고로, 왜 http를 사용하여 많은 양의 데이터를 전송하는지 잘 모르겠습니다. 나는 ssh를 통해 내 큰 이체를하는 경향이있다.

//such as:
tar cjf - /path/to/stuff | ssh user@remote-host "cd /path/to/remote/stuff;tar xjf -"

... bzip 압축 전송을 제공합니다. 그러나 재개 가능한 전송을 수행 해야하는 경우 sftp, lftp 및 rsync를 사용할 수 있습니다. 그들 (또는 그들의 파생물 또는 형제 자매)은

  1. 원하는 경우 암호화 된 채널을 사용
  2. 중단 된 전송 재개 및
  3. 전송 압축

http를 통해 업로드를 시도 할 때 (즉, https를 사용하는 경우 # 1) 옵션 중 하나만 사용할 수 있습니다.

위 또는 여러 다른 대안 중 하나를 살펴보기를 바랍니다.


이것은 질문과 관련이 없습니다.
Zenklys

1
그 사람이 http를 통해 Blueray 스케일 파일을 전송하기 때문에 거기에만 있습니다. 왜 누군가가 이것을하고 싶어하는지에 대한 자세한 정보가 없으면 질문을하는 사람이 질문에 성공적으로 대답하지 않으면 가장 잘 제공 될 것이라고 판단합니다. 나는 그러한 세부 사항에 대한 나의 무지가 문제라는 것을 인정합니다.
매트 머피
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.