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

Next.js TypeScript配合K8s NGINX Ingress特定路由返回502错误排查

排查步骤

  • 先确认Next.js服务本身路由有效性
    本地执行npm run build && npm run start后直接访问/login路由,确认代码层面路由可正常访问。再进入运行中的业务Pod,执行curl http://localhost:[服务端口]/login查看返回状态,如果容器内访问就异常,直接定位为Docker镜像或Next.js代码配置问题,和K8s上层链路无关。
  • 排查Docker镜像配置问题
    若使用Next.js output: 'standalone'模式打包,确认Dockerfile中是否完整拷贝了.next/standalone、.next/static、public三个必要目录;检查是否配置了非根路径的basePath,与Ingress转发的根路径不匹配导致路由失效;确认启动命令未加多余的路径前缀参数。
  • 排查K8s Ingress规则配置
    检查Ingress的path匹配规则,确认/login前缀未被误匹配到其他不存在的后端服务;查看Ingress annotations中的重写规则,确认nginx.ingress.kubernetes.io/rewrite-target配置未将/login重写为不存在的路径。
  • 排查NGINX Ingress运行日志
    执行kubectl logs -n [ingress-controller命名空间] [ingress-controller pod名],搜索/login相关的请求日志,确认上游转发地址是否为正确的业务SVC地址:若日志显示上游返回502,问题定位在业务Pod侧;若Ingress侧主动返回502,检查是否配置的proxy-read-timeout等超时参数过短,无法匹配/login路由的服务端处理耗时。
  • 额外排查Next.js中间件逻辑
    确认middleware.ts中未对/login路由做特殊拦截逻辑,比如调用了不存在的内部服务、异常重定向导致服务端崩溃返回502。

内容的提问来源于stack exchange,提问作者César Desu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:24:03