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

AKS中使用Nginx Ingress访问SpringBoot应用遇白标错误求助

问题原因及修复方案

出现Whitelabel Error Page的核心问题是Ingress的路径重写配置错误,导致请求转发到SpringBoot应用时的路径和Controller的映射不匹配。

具体错误点

你的Ingress配置里,路径重写规则没正确处理/app1/greet这类带子路径的请求:

  1. 使用了过时的重写注解ingress.kubernetes.io/rewrite-target,当前NGINX Ingress Controller的标准注解是nginx.ingress.kubernetes.io/rewrite-target
  2. Path规则/app1配合rewrite-target: /时,会把/app1/greet转发成//greet(多了一个斜杠),或者直接保留/app1/greet,而你的SpringBoot Controller只映射了/greet,自然匹配不到。

修正后的Ingress配置

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app-ingress
  namespace: test-demo
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  ingressClassName: nginx
  rules:
    - http:
        paths:
          - path: /app1(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: app-1-svc
                port:
                  number: 80

修改说明

  • 注解更新:换成官方推荐的nginx.ingress.kubernetes.io/rewrite-target注解,确保重写规则被NGINX正确识别
  • Path规则调整:/app1(/|$)(.*)用正则捕获组,把/app1之后的路径部分(比如/greet)捕获到$2变量中
  • 重写目标:/$2会把请求重写成捕获到的子路径,比如访问/app1/greet时,转发到后端的路径就是/greet,正好匹配你的Controller映射

额外验证步骤

在修复Ingress前,先确认应用本身和Service是正常的:

  1. 进入集群内的任意Pod,执行curl app-1-svc.test-demo.svc.cluster.local/greet
  2. 如果返回Welcome to app-1,说明应用和Service没问题,问题确实出在Ingress配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:42:41