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

AKS多主机Nginx Ingress访问/api路径返回404问题排查

问题根因

从Nginx Ingress打印的日志可确认,/api前缀的请求已经被正确路由到后端gateway服务的4156端口,返回404的核心原因是Ingress未配置路径重写规则:

  • Nginx Ingress默认会保留原始请求路径向后端转发,访问/api/someApiController时,透传给gateway的请求路径仍是/api/someApiController
  • 绝大多数网关服务的接口路由不会自带/api前缀(即接口真实路径为/someApiController),收到带/api前缀的路径后匹配不到对应路由,直接返回404
  • 根路径访问正常是因为透传给testpartner服务的路径为/,和该服务内置Nginx的路由规则完全匹配,不存在路径偏差。
修复方法
  1. 在Ingress的metadata.annotations段添加路径重写注解,配置转发时剥离/api前缀
  2. 调整/api对应的path匹配规则,适配正则捕获逻辑

修改后的完整Ingress核心配置如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my_ingress_service_name
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: 70m 
    # 新增重写规则:将路径中/api后的内容捕获后作为转发目标路径
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:  
  rules:
    - host: some.host.com 
      http:
        paths: 
          # 调整path为正则匹配格式,捕获/api后的路径段
          - path: /api(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: gateway
                port:
                  number: 4156
          - path: /
            pathType: Prefix
            backend:
              service:
                name: testpartner
                port:
                  number: 8090
    - host: someother.host.com 
      http:
        paths: 
          # 两个域名下的/api规则同步调整
          - path: /api(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: gateway
                port:
                  number: 4156
          - path: /
            pathType: Prefix
            backend:
              service:
                name: testpartner
                port:
                  number: 8090
生效说明

配置更新后等待Nginx Ingress重载完成,再访问/api前缀的接口时,Ingress会自动把路径中的/api前缀剥离,比如访问/api/someApiController会被重写为/someApiController再转发给gateway服务,即可正常匹配接口路由。
该注解为Ingress全局生效,两个域名下的/api路由会共用这套重写逻辑,无需额外重复配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:01:49