Next.js에서 서버 액션의 바디 사이즈 제한 설정하기

KUKJIN LEE's profile picture

KUKJIN LEE4개월 전 작성

웹 개발에서 서버 자원을 효율적으로 관리하는 것은 최적의 성능과 보안을 보장하는 데 매우 중요합니다. 이 중 하나가 서버 액션에서 처리하는 요청 바디의 크기를 제어하는 것입니다. 기본적으로 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을 설정함으로써 애플리케이션의 필요에 맞게 서버의 요청 처리를 조정할 수 있습니다. 이러한 유연성은 자원을 더 효과적으로 관리하면서 보안과 성능을 유지하는 데 도움이 됩니다.

New Tech Posts