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

Nginx反向代理下Next.js App Router软导航失效,触发全页刷新

Next.js App Router 搭配 Nginx 反向代理时软导航失效问题

点击链接触发页面导航时,浏览器会执行全页刷新,而非SPA软导航。该问题仅出现在 Nginx 反向代理 + Next.js App Router 的组合场景中,以下场景下软导航均能正常工作:

  • 本地访问(App Router、Pages Router 均可)
  • 通过 Vercel 直接部署(App Router、Pages Router 均可)
  • Nginx 反向代理 + Pages Router

经确认,该问题从 Next.js v13 版本起至今存在,即使是最新的预览版(canary)也未修复。

我的 Nginx 配置如下:

location / {
    proxy_pass <Vercel Vanity URL or NextJS built-in server in localhost>
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host <Vercel Vanity URL or NextJS built-in server in localhost>;
    proxy_ssl_server_name on;
    proxy_cache_bypass $http_upgrade;
}

可通过以下场景验证两种行为差异:

  • ❌ Nginx反向代理Vercel上的App Router项目:触发全页刷新
  • ✅ Nginx反向代理Vercel上的Pages Router项目:软导航正常
  • ❌ Nginx反向代理自托管App Router项目(NextJS内置服务器):触发全页刷新
  • ✅ Nginx反向代理自托管Pages Router项目(NextJS内置服务器):软导航正常
  • ✅ 直接通过Vercel vanity URL访问App Router项目:软导航正常
  • ✅ 直接通过Vercel vanity URL访问Pages Router项目:软导航正常
  • ✅ 本地运行NextJS内置生产服务器(Pages/App Router均可):执行next build && next start后访问http://localhost:3000,软导航正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:25:03