URL 重写

基本概念

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

通过规则

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。

商标声明

NGINX® 是 F5, Inc. 在美国及其他国家/地区的注册商标。

Alauda 是独立供应商。本产品与 F5, Inc. 没有关联,也未得到其认可或赞助。所有商标均归其各自所有者所有,此处仅用于标识目的。