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, // Server Actionsを有効にする
},
}
module.exports = config