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

.NET微服务部署NGINX Ingress返回404错误排查求助

问题排查解决方案
  • Ingress资源识别异常
    你当前使用的kubernetes.io/ingress.class: nginx注解在v1.19+版本的NGINX Ingress Controller中已被废弃,需要在Ingress的spec字段下显式添加ingressClassName: nginx配置,否则Controller不会识别该Ingress规则,导致路径匹配不到返回404。
    修正后的spec示例:

    spec:
      ingressClassName: nginx # 新增该行配置
      rules:
      - host: acme.com
        # 剩余原有规则保持不变
    
  • 缺失路径重写规则
    你已开启nginx.ingress.kubernetes.io/use-regex: "true"正则匹配,但未配置路径重写规则,若需要匹配带后缀的路径(如你访问的带尾斜杠的/api/platforms/、子路由/api/platforms/1),需要做两处修改:

    1. 在annotations中新增重写注解:nginx.ingress.kubernetes.io/rewrite-target: /$1
    2. 将路径修改为正则匹配格式:path: /api/platforms(/|$)(.*),对应pathType改为ImplementationSpecific
  • 后端服务可达性验证
    先跳过Ingress直接验证后端服务是否正常响应,执行端口转发命令:
    kubectl port-forward service/platforms-clusterip-srv 8080:80
    访问http://localhost:8080/api/platforms/,如果仍返回404则问题出在.NET服务本身的路由配置,和Ingress无关,需要检查服务的路由规则、是否配置了UsePathBase路径前缀等。

  • Ingress Controller日志排查
    执行命令查看Controller的请求处理日志,定位具体匹配失败原因:
    kubectl logs -n ingress-nginx <替换为你的ingress-nginx-controller的pod名称>
    可看到请求的匹配路径、转发目标,明确是路径未匹配还是转发到Service失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:21:02