웹사이트 검색

Nginx에서 파일 업로드 크기를 제한하는 방법


지난 기사에서는 Apache에서 사용자 파일 업로드 크기를 제한하는 방법에 대해 설명했습니다. 이번 글에서는 Nginx에서 사용자 파일 업로드 크기를 제한하는 방법을 설명하겠습니다. 파일 업로드 크기를 제한하면 일부 유형의 서비스 거부(DOS) 공격 및 기타 여러 관련 문제를 방지하는 데 유용합니다.

기본적으로 Nginx의 파일 업로드 제한은 1MB입니다. 파일 업로드 크기를 설정하려면 Nginx의 ngx_http_core_module 모듈의 일부인 client_max_body_size 지시문을 사용할 수 있습니다. 이 지시문은 http, 서버 또는 위치 컨텍스트에서 설정할 수 있습니다.

"Content-Length" 요청 헤더 필드에 지정된 클라이언트 요청 본문의 최대 허용 크기를 설정합니다. 다음은 /etc/nginx/nginx.conf 파일에서 제한을 100MB로 늘리는 예입니다.

모든 서버 블록(가상 호스트)에 영향을 미치는 http 블록에 설정됩니다.

http {
    ...
    client_max_body_size 100M;
}    

특정 사이트/앱에 영향을 미치는 서버 차단에 설정됩니다.

server {
    ...
    client_max_body_size 100M;
}

사이트/앱 아래의 특정 디렉토리(업로드)에 영향을 미치는 위치 차단에 설정됩니다.

location /uploads {
    ...
    client_max_body_size 100M;
} 

파일을 저장하고 Nginx 웹 서버를 다시 시작하여 다음 명령을 사용하여 최근 변경 사항을 적용합니다.

systemctl restart nginx       #systemd
service nginx restart         #sysvinit

변경 사항을 저장하고 HTTP 서버를 다시 시작한 후 요청 크기가 구성된 값인 100MB를 초과하면 413(요청 엔터티가 너무 큼) 오류가 반환됩니다. 클라이언트에게.

참고: 때때로 브라우저에 이 오류가 올바르게 표시되지 않을 수 있다는 점을 명심해야 합니다. 값(크기)을 0으로 설정하면 클라이언트 요청 본문 크기 확인이 비활성화됩니다.

Nginx 웹 서버 관리와 관련된 다음 기사를 읽어볼 수도 있습니다.

  1. Linux에서 Nginx 포트를 변경하는 방법
  2. Linux에서 Nginx 서버 버전을 숨기는 방법
  3. ngxtop – Linux에서 실시간으로 Nginx 로그 파일 모니터링
  4. Netdata를 사용하여 Nginx 성능을 모니터링하는 방법
  5. NGINX 상태 페이지를 활성화하는 방법

그게 다야! 이 짧은 기사에서는 Nginx에서 사용자 파일 업로드 크기를 제한하는 방법을 설명했습니다. 아래 의견 양식을 통해 귀하의 생각을 우리와 공유할 수 있습니다.