serverActions

Next.js 애플리케이션에서 Server Actions 동작을 구성하는 옵션입니다.

allowedOrigins

Server Actions를 호출할 수 있는 추가 안전 출처 도메인의 목록입니다. Next.js는 Server Action 요청의 출처와 호스트 도메인을 비교하여 일치하는지 확인함으로써 CSRF 공격을 방지합니다. 제공되지 않으면 동일한 출처만 허용됩니다.

next.config.js
/** @type {import('next').NextConfig} */
 
module.exports = {
  experimental: {
    serverActions: {
      allowedOrigins: ['my-proxy.com', '*.my-proxy.com'],
    },
  },
}

bodySizeLimit

기본적으로 Server Action으로 전송되는 요청 본문의 최대 크기는 1MB입니다. 이는 큰 양의 데이터를 구문 분석하는 데 과도한 서버 리소스가 소비되는 것과 잠재적인 DDoS 공격을 방지하기 위함입니다.

그러나 serverActions.bodySizeLimit 옵션을 사용하여 이 한도를 구성할 수 있습니다. 바이트 수 또는 1000, '500kb', '3mb'와 같은 바이트로 지원되는 문자열 형식을 사용할 수 있습니다.

next.config.js
/** @type {import('next').NextConfig} */
 
module.exports = {
  experimental: {
    serverActions: {
      bodySizeLimit: '2mb',
    },
  },
}

Server Actions 활성화 (v13)

Server Actions는 Next.js 14에서 안정적인 기능이 되었으며 기본적으로 활성화되어 있습니다. 그러나 이전 버전의 Next.js를 사용하는 경우 experimental.serverActionstrue로 설정하여 활성화할 수 있습니다.

next.config.js
/** @type {import('next').NextConfig} */
const config = {
  experimental: {
    serverActions: true,
  },
}
 
module.exports = config