ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)
    Nginx 2024. 2. 24. 01:17

     

    백엔드 채팅 기능을 개발하면서

    이미지와 파일 업로드를 추가했는데, 테스트를 해보니 오류가 발생하여

    오류를 타고 타고 들어가다 nginx 로그를 확인해보니 제목과 같은 오류가 발생했다.

     

    이는 nginx에서 client_max_body_size 설정 때문이고,

    너무 큰 사이즈의 request를 보내지 못 하도록 제한을 거는 설정이다.

     

    client_max_body_size의 기본값은 1MB이다.

    request의 Content-Length 헤더 값이 이 설정된 값을 넘을 수 없기 때문에

    파일 업로드할 때 오류가 발생한 것이다.

     

     

     

    해결

    악의적으로 큰 용량의 파일을 업로드해서 스토리지를 가득 채울 수 있기 때문에

    우선은 채팅방에 업로드할 수 있는 최대 사이즈를 10MB로 설정하기로 하였다.

     

    1. nginx 환경 파일에 접근

    $ sudo vi /etc/nginx/nginx.conf

     

    2. 서버 업로드 크기(사이즈) 설정

    http { 로 시작하는 블럭 안에 아래와 같이 서버 업로드 사이즈를 설정해준다.

    참고로 제한을 두지 않으려면 0으로 설정하면 되나, 되도록이면 0으로 설정하지 말자.

    http {
        client_max_body_size {제한 사이즈}
    }

     

    3. nginx 재시작

    리로드 전에, 수정한 nginx 설정 파일이 문법 문제가 없는지 확인하기

    $ sudo nginx -t

    리로드 수행

    $ sudo service nginx reload

     

     

     

    'Nginx' 카테고리의 다른 글

    Nginx에서 해외 IP 차단 설정하기  (0) 2024.02.24
Designed by Tistory.