ALB 可以在将请求转发到后端之前重写请求 URL。 您可以使用正则表达式捕获组来重写 URL。
通过 ingress 注解
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: nginx.ingress.kubernetes.io/rewrite-target: /$2 name: demo spec: ingressClassName: alb rules: - http: paths: - backend: service: name: frontend port: number: 8080 path: /(prefix-x)(/|$)(.*) pathType: ImplementationSpecific
通过 rule
apiVersion: crd.alauda.io/v1 kind: Rule metadata: labels: alb2.cpaas.io/frontend: alb-00080 alb2.cpaas.io/name: alb name: demo namespace: cpaas-system spec: dslx: - type: URL values: - - REGEX - ^/(prefix-x)(/|$)(.*) rewrite_base: /(prefix-x)(/|$)(.*) rewrite_target: /$3
示例:客户端请求 /prefix-x/abc;后端接收到 /abc。
/prefix-x/abc
/abc