Перезапись 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
.