이슈

[Nginx] Nginx 사용 시 413 ERROR (413 Request Entity Too Large)

픽쳐팍 2025. 2. 10. 16:49

 

환경

  • Nginx를 통한 Reverse Proxy 구축

문제 상황

프론트 팀원 분으로부터 dev 서버에 사진 업로드 시 413 error가 난다는 메시지를 받았다.

프론트팀은 iOS이고, 아래는 전달받은 에러 메시지이다.

StatusCode: Optional(413) responseValidationFailed(reason: Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(code: 413))

 

 

yml에 max size를 설정해두었기 때문에 이 문제인가 하고 그라파나를 확인해보았다.

... 생략
spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB
      max-request-size: 10MB
... 생략      

 

그런데 그라파나에서 확인해보니 애플리케이션에 요청 로그 자체가 찍히지 않았다. 또한 현재 prod 서버에 동일한 요청시 정상적으로 처리되는 상황이었다.

그래서 Dev 서버의 Nginx 문제인가 했고, 찾아보니 Nginx에 설정한 파일 크기보다 큰 파일 전송시 해당 에러가 발생할 수 있다는 것을 알게 되었다.

 

해결

아래 블럭처럼 http 블럭 내부에서 client_max_body_size 를 설정해주면 된다. 디폴트 값이 1M이기 때문에 설정해주지 않으면 1M 이상의 파일을 보낼 시 413 error가 발생한다. prod 서버에는 설정했는데 dev에는 누락되어 dev 서버에서만 이 에러가 발생했다.

 

http {
    client_max_body_size 10M;
}

 

설정 후 아래와 같이 nginx를 재시작해주어 해결.

sudo systemctl restart nginx

 

반응형