“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.