Есть 2 способа сделать не-www to www redirections, 1. используя alb.ingress.kubernetes.io/actions
, 2. alb.ingress.kubernetes.io/conditions
.
alb.ingress.kubernetes.io / actions. $ {action-name} Предоставляет метод для настройки пользовательских действий на слушателе, например, для действий перенаправления.
Имя действия в аннотации должно соответствовать serviceName в правилах входа, а servicePort должен быть use-annotation.
Нам нужна еще одна аннотация, которая сообщает ALB, как настроить перенаправление:
alb.ingress.kubernetes.io/actions.redirect-to-www: >
{"Type":"redirect","RedirectConfig":{"Host":"www.myhost.in","Port":"443","Protocol":"HTTPS","StatusCode":"HTTP_302"}}
И еще одно правило хоста для перехвата домена вашего запроса myhost.in
и перенаправления на www.myhost.in
- host: myhost.in
http:
paths:
- path: /*
backend:
serviceName: redirect-to-www
servicePort: use-annotation
alb.ingress.kubernetes.io / условий. $ {условие-имя} Предоставляет метод для указания условий маршрутизации в дополнение к исходному условию хоста / пути в Ingress spe c .
Имя условия в аннотации должно соответствовать serviceName во входном руле. эс. Это может быть реальное имя serviceName или имя действия на основе аннотации, когда servicePort является «use-annotation».
В дополнение к добавленной выше аннотации мы продолжаем добавлять условия к аннотациям для фильтрации запрос, но не нужно указывать правило хоста, приведенное выше.
alb.ingress.kubernetes.io/actions.redirect-to-www: >
{"Type":"redirect","RedirectConfig":{"Host":"www.myhost.in","Port":"443","Protocol":"HTTPS","StatusCode":"HTTP_302"}}
alb.ingress.kubernetes.io/conditions.redirect-to-www: >
[{"Field":"host-header","HostHeaderConfig":{"Values":["myhost.in"]}}]
Мы изменили существующее правило хоста, которое вам необходимо для перенаправления.
- host: www.myhost.in
http:
paths:
- path: /*
backend:
serviceName: redirect-to-www
servicePort: use-annotation
- path: /*
backend:
serviceName: ssl-redirect
servicePort: use-annotation
- path: /*
backend:
serviceName: eks-learning-service
servicePort: 80