Next-Auth(^4.22.1)中间件异常:登录后访问/test路由加载失败
解决方案:NextAuth Middleware 导致受保护路由加载异常(ECONNRESET)
针对你使用next-auth@4.22.1 + Next.js 13.4.7时,访问受保护的/test路由出现页面加载停滞、终端报Error: socket hang up(code: ECONNRESET)的问题,可尝试以下排查步骤:
确认NextAuth的Session策略为JWT
NextAuth的middleware依赖JWT会话机制工作,若你的pages/api/auth/[...nextauth].js配置中使用了database会话策略,会导致循环请求或连接异常。修改配置如下:export default NextAuth({ session: { strategy: "jwt", // 必须配置为jwt }, // 其余Providers、Secret等配置保持不变 })检查Middleware文件位置与匹配规则
- 确保
middleware.js放置在项目根目录(而非app文件夹内),App Router模式下根目录的middleware才会全局生效。 - 验证
matcher: ["/test"]规则无冲突,确认/test路由存在且未被其他路由规则覆盖。
- 确保
排查本地开发环境的网络问题
ECONNRESET错误常源于连接被重置,尝试:- 关闭VPN、代理工具后重启开发服务器;
- 更换端口启动项目:
next dev -p 3001,避免端口占用或代理冲突。
更新依赖版本
部分版本组合存在已知兼容性bug,尝试升级next-auth至最新4.x稳定版,或Next.js至13.4.x后续版本,修复潜在的middleware会话校验逻辑问题。
内容的提问来源于stack exchange,提问作者Paing Htet Aung
相关产品推荐
相关产品推荐

