Next.js에서 서버 액션의 바디 사이즈 제한 설정하기
KUKJIN LEE • 4개월 전 작성
웹 개발에서 서버 자원을 효율적으로 관리하는 것은 최적의 성능과 보안을 보장하는 데 매우 중요합니다. 이 중 하나가 서버 액션에서 처리하는 요청 바디의 크기를 제어하는 것입니다. 기본적으로 Next.js는 서버 액션에 대해 최대 요청 바디 크기를 1MB로 설정하여 과도한 자원 소비와 잠재적인 DDoS 공격을 방지합니다. 그러나 경우에 따라 이 한도를 늘려야 할 수도 있습니다.
왜 바디 사이즈 제한을 조정해야 할까요?
기본 1MB 제한은 많은 애플리케이션에 충분하지만, 파일 업로드나 대규모 JSON 데이터와 같은 더 큰 페이로드를 처리해야 하는 경우에는 이 제한을 조정해야 합니다.
bodySizeLimit
설정하기
Next.js는 next.config.js
파일을 통해 서버 액션의 bodySizeLimit
옵션을 설정할 수 있습니다. 이 옵션은 특정 바이트 수나 bytes
라이브러리에서 지원하는 문자열 형식을 사용할 수 있습니다.
/** @type {import('next').NextConfig} */
module.exports = {
experimental: {
serverActions: {
bodySizeLimit: '2mb', // 바디 사이즈 제한을 2MB로 설정
},
},
}
지원되는 형식
serverActions.bodySizeLimit
옵션은 다음 형식을 지원합니다.
-
바이트: 바이트를 나타내는 숫자 값. 예:
1000
. -
문자열 형식: 지원되는 단위를 사용하여 크기를 지정하는 문자열. 예:
'500kb'
또는'3mb'
.
실용적인 예제
예를 들어, 최대 2MB의 파일 업로드를 처리해야 하는 애플리케이션을 작업 중이라고 가정해 보겠습니다. 위와 같이 bodySizeLimit
을 설정하면 됩니다. 이를 통해 서버가 더 큰 페이로드를 문제 없이 처리할 수 있습니다.
결론
Next.js에서 서버 액션의 bodySizeLimit
을 설정함으로써 애플리케이션의 필요에 맞게 서버의 요청 처리를 조정할 수 있습니다. 이러한 유연성은 자원을 더 효과적으로 관리하면서 보안과 성능을 유지하는 데 도움이 됩니다.