コンテンツへスキップ

serverActions

Next.js アプリケーションでのサーバーアクションの動作を設定するためのオプション。

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