コンテンツへスキップ

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.serverActions`を`true`に設定することで有効にできます。

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