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

Next.js13 App Router:AuthJS在Vercel报504超时本地正常

Vercel部署NextJS时AuthJS邮箱登录挂起的排查与调试

可能的问题原因

  • 环境变量不一致:本地的NEXTAUTH_SECRET、邮箱服务商的API密钥等环境变量,在Vercel后台是否完全匹配?NEXTAUTH_SECRET如果线上没设置或和本地不同,会导致加密流程异常,引发请求挂起。
  • 邮箱服务IP限制:部分邮箱服务商(如SendGrid、Mailgun)会屏蔽云平台IP,Vercel服务器的IP可能被拦截,导致邮件发送请求卡住,进而让整个登录流程挂起。
  • 回调URL配置错误:NEXTAUTH_URL必须设置为Vercel部署后的正式域名(带https),如果还是用本地的http://localhost:3000,会导致AuthJS的回调逻辑异常,请求无法完成。
  • Serverless函数超时:Vercel的Serverless函数默认超时10秒,如果邮件发送过程耗时超过这个时间,会直接触发超时,表现为请求挂起。

调试方法

  • 开启AuthJS调试模式:在AuthJS配置文件(auth.ts/auth.js)中添加debug: true,这样Vercel日志会输出AuthJS的详细执行流程,能定位到是卡在邮件发送、会话创建还是其他环节。
  • 单独测试邮件发送:写一个简单的测试接口(比如/api/test-email),直接调用邮箱服务发送邮件,部署到Vercel后测试,确认邮件服务本身是否能正常响应。
  • 检查Vercel函数完整日志:在Vercel后台找到/api/auth/signin对应的Serverless函数,查看完整的执行日志,包括请求参数、内部报错(有些未捕获的Promise拒绝不会显示在表面日志里)。
  • 本地模拟Vercel环境:用vercel dev命令在本地模拟Vercel的运行环境,复现线上的挂起问题,方便在本地调试排查。
  • 调整函数超时时间:如果是邮件发送耗时导致的超时,在Vercel后台找到该函数的设置,把超时时间适当调高(最大支持15分钟)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:30:07