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

升级Kong至3.x版本后正则表达式无法正常工作求助

Kong 3.2升级后Ingress正则路径匹配失效解决方法

问题根源

Kong 3.x版本对Kubernetes Ingress的路径匹配逻辑做了调整:默认情况下,即便设置pathType: ImplementationSpecific,也不会自动将path字段解析为正则表达式,需要显式声明或调整正则写法才能生效。

解决方案一:添加正则匹配注解(推荐)

在Ingress的metadata.annotations中添加konghq.com/path-regex: "true",明确告知Kong将path内容当作正则表达式处理,保留原有正则写法即可:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  labels:
    app.kubernetes.io/name: payment-svc
  name: payment-without-auth
  namespace: payment
  annotations:
    konghq.com/path-regex: "true" # 开启正则匹配模式
spec:
  ingressClassName: kong
  rules:
  - host: abc.example.com
    http:
      paths:
      - backend:
          service:
            name: payment-svc
            port:
              number: 80
        path: /payment/(docs|health)
        pathType: ImplementationSpecific

解决方案二:调整正则路径写法

若不想使用注解,可将path改为Kong 3.x认可的正则格式——以~开头,同时添加正则锚点^(匹配开头)和$(匹配结尾),确保精确匹配:

path: ~^/payment/(docs|health)$

额外检查项

  1. 确保Kong Ingress Controller版本与Kong网关3.2版本兼容,建议同步升级到对应3.x系列的controller版本,避免版本不匹配导致的兼容问题。
  2. 验证正则语法正确性:若仍报错,可单独测试正则表达式^/payment/(docs|health)$是否符合预期,排除语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:50:23