Menu

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 选项来配置此限制。它可以接受字节数或任何受 bytes 支持的字符串格式,例如 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;