我得到500内部服务器错误后部署Next.js应用程序到Vercel。该项目可以在本地计算机上运行,但不能在其部署到的URL中运行。
我在Vercel中使用了环境变量,这可能与该问题有关。我添加了这4个环境变量-NEXTAUTH_URL、NEXTAUTH_SECRET、Twitter_CLIENT_ID和Twitter_CLIENT_SECRET。
在我的项目中,我创建了一个单独的文件‘.env.local’,其中包含所有与项目相关的键和URL。
起初,这个环境变量‘NEXTAUTHURL’指向‘http://localhost:3000/’
NEXTAUTHURL=http://localhost:3000/
然后,在Vercel中部署我的应用程序后,我使用项目和Vercel中部署的URL更新了该变量。
NEXTAUTH_URL=https://twitter-clone-seven-coral.vercel.app/
我还在‘OAuth 2.0’中的‘Twitter的开发者门户’中的‘回调URI/重定向URL’部分添加了上述URL:
**在Vercel中部署我的应用程序之前,回调URI/重定向URL指向https://localhost:3000/api/auth/callback/twitter
网站URL指向https://test.com,我在最初部署应用程序后对其进行了更新。**
这是我第一次使用环境变量,所以我不知道如何处理这个错误。
参考:Package.json:
2条答案
按热度按时间ff29svar1#
是的,我必须设置环境变量,用Vercel尝试过,但不支持或可能遗漏了一些东西,但与netlify一起工作很好,只需使用环境变量部署,从您的项目.env.local文件,获得给出的键和值也提供NEXTAUTH_URL正确,然后它应该运行
c3frrgcw2#
经过长时间的研究,也遇到了同样的问题,并找到了解决方案
诀窍是您必须将环境变量设置为Vercel或任何主机平台
how to set environment variable in vercel
how to set environment variable in heroku