メインコンテンツまでスキップ

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, // Server Actionsを有効にする
},
}

module.exports = config