대용량 파일을 AWS Elastic Beanstalk 환경에 업로드할 수 있도록 NGINX 구성에서 “client_max_body_size” 값을 사용자 지정하고 싶습니다.
해결 방법
NGINX의 기본 파일 업로드 제한은 1MB입니다. 1MB보다 큰 파일을 업로드하려면 client_max_body_size 값을 업데이트하세요.
중요: M과 MB는 “메가바이트”에 해당하는 표현식입니다. 예를 들어, 2M은 2MB와 같습니다. 그러나 NGINX 구성에서는 “M”만 유효한 구문 값으로 허용합니다. 숫자와 문자 “M” 사이에는 공백이 없습니다.
참고: 모든 Amazon Linux 2 및 Amazon Linux 2023 플랫폼 버전에 대한 기본 프록시 구성을 사용자 정의하려면 Elastic Beanstalk Linux 플랫폼 확장을 참조하세요.
Amazon Linux 2 및 Amazon Linux 2023에서 client_max_body_size 값을 구성하려면 다음 단계를 완료하세요.
-
다음을 포함하는 client_max_body_size.conf라는 이름의 .conf 구성 파일을 만듭니다.
client_max_body_size 50M;
-
.conf 파일 client_max_body_size.conf를 애플리케이션 소스 번들에 있는 **.platform/nginx/conf.d/**라는 폴더에 복사합니다.
참고: Elastic Beanstalk NGINX 구성은 .platform 폴더에 .conf 파일을 자동으로 포함합니다. 소스 번들에 .conf 파일이 없는 경우 이 경로를 생성해야 합니다.
다음 예는 Java SE 플랫폼의 애플리케이션 zip 파일에 있는 .platform 디렉터리와 .conf 파일의 구조를 보여줍니다. .platform 폴더는 모든 Linux 플랫폼에서 애플리케이션 소스 번들의 루트에 위치해야 합니다. 애플리케이션 번들에 대한 자세한 내용은 해당 플랫폼의 설명서를 참조하세요.
~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md
`-- .platform/
|-- nginx/ # Proxy configuration
| `-- conf.d/
| `-- client_max_body_size.conf
- Elastic Beanstalk 환경에 새 애플리케이션 버전을 배포합니다.
- SSH를 사용하여 Elastic Beanstalk 환경에서 실행 중인 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 로그인합니다.
- NGINX 구성 구문이 올바른지, client_max_body_size 값에 대한 변경 사항이 적용되는지 확인하려면 다음 명령을 실행하세요.
$ sudo nginx -T | egrep -i "client_max_body_size"
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
client_max_body_size 50M;
관련 정보
애플리케이션 소스 번들 생성