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

Kubernetes Nginx-Ingress前缀替换规则配置求助

Nginx Ingress 前缀重写配置示例

要实现将前缀 /foo 替换为 /services/goo 的重写规则,你可以利用 Nginx Ingress 的 rewrite-target 注解配合正则匹配完成,以下是完整的 Ingress 配置文件示例:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-to-goo-rewrite
  annotations:
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /services/goo/$2
spec:
  ingressClassName: nginx # 替换为你的 Nginx Ingress Controller 类名
  rules:
    - http:
        paths:
          - path: /foo(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: your-target-service # 替换为实际后端服务名称
                port:
                  number: 80 # 替换为服务对应端口号

配置说明

  • nginx.ingress.kubernetes.io/use-regex: "true":开启路径正则匹配,保证重写规则正常生效。
  • path: /foo(/|$)(.*):通过正则分组捕获路径内容,$2 会匹配 /foo 之后的所有字符(包括空值)。
  • rewrite-target: /services/goo/$2:将原路径重写为目标前缀加捕获到的后续内容,示例效果:
    • 访问 https://your-domain/foo → 重写为 https://your-domain/services/goo
    • 访问 https://your-domain/foo/bar/baz → 重写为 https://your-domain/services/goo/bar/baz

请根据实际环境替换配置中的服务名称、端口号和 Ingress 类名。

内容的提问来源于stack exchange,提问作者Balaganesh.V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:34:51