Vercel部署Next.js项目登录时出现500 Internal Error错误如何解决
问题根因
你的NextAuth配置未适配Vercel生产环境:NEXTAUTH_URL环境变量仍保留本地开发值http://localhost:3000,服务端渲染登录页时请求本地不存在的接口,触发ECONNREFUSED连接错误;后续接口返回空值后调用Object.values读取登录配置直接抛出类型错误,最终导致服务崩溃返回500。
修复步骤
- 登录Vercel控制台,进入对应项目的「Settings」-「Environment Variables」配置页
- 新增环境变量:键填写
NEXTAUTH_URL,值填写你的生产应用地址https://insta-2-0-ebon.vercel.app - 勾选该变量对Production环境生效后保存配置
- 进入项目的「Deployments」列表,选中最新的部署记录点击「Redeploy」重新构建部署,部署完成后即可正常访问登录功能
补充:若你在
pages/api/auth/[...nextauth].js配置文件中手动写死了baseUrl参数为本地地址,需要同步修改为生产域名,或者直接删除该参数让NextAuth自动读取NEXTAUTH_URL环境变量,避免冲突。
内容的提问来源于stack exchange,提问作者Ghulam Mustafa
相关产品推荐
相关产品推荐

