Похоже на твой Переписать Цель неправильная. Посмотрите на этот общий пример из документация:
Версия API: networking.k8s.io/v1
вид: Вход
метаданные:
аннотации:
nginx.ingress.kubernetes.io/rewrite-target: /$2
имя: переписать
пространство имен: по умолчанию
спецификация:
правила:
- хост: rewrite.bar.com
http:
пути:
- бэкэнд:
имя_службы: http-svc
сервисПорт: 80
путь: /что-то(/|$)(.*)
В этом определении входа любые символы, захваченные (.*)
будет присвоен заполнитель $2
, который затем используется в качестве параметра в цель перезаписи
аннотация.
Например, приведенное выше определение входа приведет к следующей перезаписи:
rewrite.bar.com/что-то
переписывает на rewrite.bar.com/
rewrite.bar.com/что-то/
переписывает на rewrite.bar.com/
rewrite.bar.com/что-то/новое
переписывает на rewrite.bar.com/новый
В вашей ситуации, если вы попытаетесь получить доступ staging.my-domain.com/
, вы переписаны на тот же адрес. Все хорошо. Но вы можете переписать только этот адрес. Вы должны изменить свой манифест следующим образом:
Версия API: networking.k8s.io/v1
вид: Вход
метаданные:
аннотации:
kubernetes.io/ingress.class: альб
alb.ingress.kubernetes.io/scheme: выход в интернет
внешний-dns.alpha.kubernetes.io/имя хоста: staging.my-domain.com
nginx.ingress.kubernetes.io/ssl-redirect: «ложь»
nginx.ingress.kubernetes.io/force-ssl-redirect: «ложь»
nginx.ingress.kubernetes.io/rewrite-target: /$1
имя: nlx-апи
спецификация:
правила:
- хост: staging.my-domain.com
http:
пути:
- дорожка: /(.*)
тип пути: префикс
серверная часть:
оказание услуг:
имя: наш-апи
порт:
номер: 80
В этой ситуации любые персонажи, захваченные (.*)
будет присвоен заполнитель $1
(это первая группа захвата), которая затем используется как параметр в цель перезаписи
аннотация.