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

Next.js项目API本地正常,部署Vercel后出现500错误求助

排查Vercel部署后Hono+Neon+Next.js的500内部服务器错误
  • 先确认Vercel环境变量是否生效

    • 检查DATABASE_URL(Neon连接字符串)是否正确添加到Vercel的生产环境变量中,注意不要带多余空格,且修改环境变量后必须重新部署项目才会生效。
    • 核对NEXT_PUBLIC_APP_URL的格式,确保没有开头/结尾的空格或多余斜杠,正确格式应为NEXT_PUBLIC_APP_URL=https://expense-mate-amber.vercel.app。
  • 查看Vercel函数日志定位具体错误
    进入Vercel控制台的项目「Logs」或「Functions」页面,查看API请求的详细错误栈。500错误必然有具体触发原因,比如数据库连接失败、未捕获的代码异常、路由匹配错误等,日志是最快定位问题的方式。

  • 给Hono添加全局错误捕获
    在Hono实例中添加错误处理中间件,强制输出具体错误信息(生产环境默认会隐藏),方便排查:

    app.onError((err, c) => {
      console.error('Hono Error:', err);
      return c.json({ error: err.message }, 500);
    });
    

    重新部署后,调用API就能看到具体的错误内容。

  • 验证Neon生产数据库的可访问性
    用本地终端执行psql <你的生产DATABASE_URL>,测试能否正常连接数据库。如果连接失败,检查Neon控制台的数据库权限、连接字符串格式(比如是否需要添加?sslmode=require参数),或者是否开启了IP白名单限制(Neon默认允许所有IP,但如果手动设置过白名单,需把Vercel的IP加入)。

  • 检查Hono路由的部署适配
    确认Next.js的API路由文件(比如app/api/[...hono]/route.ts)导出是否正确,生产环境下的路由前缀是否和本地一致,避免因路径匹配失败导致的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:22:43