• Русский
  • Перезапись URL

    Основные понятия

    ALB может переписывать URL запроса перед его передачей на backend. Вы можете использовать группы захвата в регулярных выражениях для переписывания 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; backend получает /abc.