Kubernetes nginx перенаправляет на указанный пользователем URL

Извините, я новичок во всем этом, у меня развернуто и открыто 2 приложения springboot (с использованием сервисов), к которым я могу получить доступ, используя ‹ Minikube IP>:‹ Port>, и я хочу использовать вход для предоставления приложений.

У меня есть эта входная конфигурация для предоставления 2 сервисов kubernetes.

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: esse-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
 rules:
 - host: mssmdns.dz
   http:
     paths:
     - path: /esse-1/*
       backend:
         serviceName: esse-service-1
         servicePort: 8080
     - path: /esse-2/*
       backend:
         serviceName: esse-service-2
         servicePort: 8080

Я хочу перенаправить входящий запрос следующим образом:

http://mssmdns.dz/esse-1/a/b/c (извне) -> http://mssmdns.dz/a/b/c (внутри приложения)

(и то же самое для эссе-2).

Когда я пишу любой URL-адрес, я застреваю на той же странице (/url), я использую kubernetes и nginx в качестве входного контроллера.

заранее спасибо


person Mssm    schedule 01.08.2019    source источник


Ответы (1)


Документация ingress-nginx содержит пример конфигурации перезаписи.

Он использует регулярные выражения на пути, а затем использует вторую соответствующую группу из регулярного выражения в аннотации rewrite-target.

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: esse-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
 rules:
 - host: mssmdns.dz
   http:
     paths:
     - path: /esse-1(/|$)(.*)
       backend:
         serviceName: esse-service-1
         servicePort: 8080
     - path: /esse-2(/|$)(.*)
       backend:
         serviceName: esse-service-2
         servicePort: 8080
person Matt    schedule 02.08.2019