serverActions

Next.js アプリケーションにおけるサーバーアクション (Server Actions) の動作を設定するためのオプションです。

allowedOrigins

サーバーアクションを呼び出せる追加の安全なオリジンドメインのリストです。Next.js はサーバーアクションリクエストのオリジンとホストドメインを比較し、CSRF攻撃を防ぐために一致することを確認します。指定されていない場合、同一オリジンのみが許可されます。

next.config.js
/** @type {import('next').NextConfig} */

module.exports = {
  experimental: {
    serverActions: {
      allowedOrigins: ['my-proxy.com', '*.my-proxy.com'],
    },
  },
}

bodySizeLimit

デフォルトでは、サーバーアクションに送信されるリクエストボディの最大サイズは1MBに制限されています。これは大量のデータを解析する際の過剰なサーバーリソース消費や、潜在的なDDoS攻撃を防ぐためです。

ただし、serverActions.bodySizeLimit オプションを使用してこの制限を設定できます。バイト数または bytes がサポートする任意の文字列形式(例: 1000'500kb''3mb')を指定できます。

next.config.js
/** @type {import('next').NextConfig} */

module.exports = {
  experimental: {
    serverActions: {
      bodySizeLimit: '2mb',
    },
  },
}

サーバーアクションの有効化 (v13)

サーバーアクションは Next.js 14 で安定版機能となり、デフォルトで有効化されています。ただし、以前のバージョンの Next.js を使用している場合は、experimental.serverActionstrue に設定することで有効化できます。

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

module.exports = config

On this page