You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何延长AWS Amplify请求/响应超时时间?解决NextJS前端504问题

AWS Amplify 运行时请求超时配置指南

默认超时时间

对于部署在AWS Amplify上的Next.js应用,涉及后端请求的核心超时规则如下:

  • Next.js的Server Components、API路由、Server Actions运行在Amplify托管的Lambda函数上,默认超时为10秒。如果你的ECS后端API响应超过这个时间,Lambda会触发超时,返回504网关错误。
  • 若使用Amplify的API代理功能转发请求到ECS,底层API Gateway的默认集成超时为29秒,最大可设置到30秒。

延长运行时超时的方法

1. 调整Next.js Lambda运行时超时

针对Server Components/API路由/Server Actions的场景,需修改Amplify的Lambda函数配置:

  • 找到项目中Amplify生成的Lambda函数配置文件,路径通常为 amplify/backend/function/<your-nextjs-function-name>/function.json(函数名一般类似 nextjsSSR 或包含nextjs标识)。
  • 修改文件中的timeout字段,设置为你需要的超时时间(最大支持900秒,即15分钟):
{
  "functionName": "nextjsSSR",
  "runtime": "nodejs18.x",
  "timeout": 60, // 示例:设置为60秒
  "memorySize": 1024,
  ...
}
  • 保存文件后,重新部署Amplify项目:
amplify push

2. 调整Amplify API代理超时(若使用代理)

如果通过Amplify的API代理转发请求到ECS后端:

  • 登录AWS控制台,进入Amplify项目的API模块。
  • 找到对应的API代理配置,编辑集成设置,将超时时间调整到最大30秒。
  • 注意:此方式无法突破30秒上限,若后端响应超过30秒,建议改用Next.js的Lambda运行时处理(方法1),或考虑异步请求方案。

注意事项

  • Lambda超时最大为900秒,若后端API响应超过15分钟,需设计异步处理流程(如使用SQS消息队列+前端轮询),避免同步请求超时。
  • 修改超时后需重新部署Amplify项目,确保配置生效。

内容的提问来源于stack exchange,提问作者nb123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:10:14