mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
Closes: https://linear.app/vercel/issue/DOC-4686/clean-up-routing-section Redirects: https://github.com/vercel/front/pull/47151 --------- Co-authored-by: Joseph <[email protected]> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
56 lines
1.6 KiB
Plaintext
56 lines
1.6 KiB
Plaintext
---
|
|
title: serverActions
|
|
description: Configure Server Actions behavior in your Next.js application.
|
|
---
|
|
|
|
Options for configuring Server Actions behavior in your Next.js application.
|
|
|
|
## `allowedOrigins`
|
|
|
|
A list of extra safe origin domains from which Server Actions can be invoked. Next.js compares the origin of a Server Action request with the host domain, ensuring they match to prevent CSRF attacks. If not provided, only the same origin is allowed.
|
|
|
|
```js filename="next.config.js"
|
|
/** @type {import('next').NextConfig} */
|
|
|
|
module.exports = {
|
|
experimental: {
|
|
serverActions: {
|
|
allowedOrigins: ['my-proxy.com', '*.my-proxy.com'],
|
|
},
|
|
},
|
|
}
|
|
```
|
|
|
|
## `bodySizeLimit`
|
|
|
|
By default, the maximum size of the request body sent to a Server Action is 1MB, to prevent the consumption of excessive server resources in parsing large amounts of data, as well as potential DDoS attacks.
|
|
|
|
However, you can configure this limit using the `serverActions.bodySizeLimit` option. It can take the number of bytes or any string format supported by bytes, for example `1000`, `'500kb'` or `'3mb'`.
|
|
|
|
```js filename="next.config.js"
|
|
/** @type {import('next').NextConfig} */
|
|
|
|
module.exports = {
|
|
experimental: {
|
|
serverActions: {
|
|
bodySizeLimit: '2mb',
|
|
},
|
|
},
|
|
}
|
|
```
|
|
|
|
## Enabling Server Actions (v13)
|
|
|
|
Server Actions became a stable feature in Next.js 14, and are enabled by default. However, if you are using an earlier version of Next.js, you can enable them by setting `experimental.serverActions` to `true`.
|
|
|
|
```js filename="next.config.js"
|
|
/** @type {import('next').NextConfig} */
|
|
const config = {
|
|
experimental: {
|
|
serverActions: true,
|
|
},
|
|
}
|
|
|
|
module.exports = config
|
|
```
|