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

如何在Kubernetes Ingress Controller中配置API映射及路径转发

将指定Nginx配置转换为Kubernetes Ingress规则

原Nginx配置的核心逻辑是:将所有发往/check_result路径(及子路径)的请求,完整转发到后端服务的/check_result路径(及对应子路径)。你当前的Ingress配置因为添加了nginx.ingress.kubernetes.io/rewrite-target: /注解,会把请求路径重写为根路径/,不符合需求,下面提供两种正确的配置方案:

方案一:直接转发原路径(推荐)

去掉路径重写注解,Ingress默认会将请求的完整路径转发给后端服务,完全匹配原Nginx的行为:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: check_result-ingress-service
spec:
  rules:
  - http:
      paths:
      - path: /check_result
        pathType: Prefix
        backend:
          service:
            name: check_result-ip-service
            port:
              number: 7764
  • 当请求/check_result时,会转发到check_result-ip-service:7764/check_result
  • 当请求/check_result/xxx时,会转发到check_result-ip-service:7764/check_result/xxx

方案二:使用正则捕获实现路径转发

如果需要保留路径重写逻辑(比如有其他复杂规则),可以通过正则捕获路径片段,确保转发路径正确:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: check_result-ingress-service
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /check_result$1
spec:
  rules:
  - http:
      paths:
      - path: /check_result(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: check_result-ip-service
            port:
              number: 7764
  • 正则/check_result(/|$)(.*)会捕获/check_result之后的所有内容
  • rewrite-target: /check_result$1将捕获到的内容拼接到后端路径后,实现完整路径转发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:43:22