Отключить перезапись пути для выхода из Kubernetes Ingress - PullRequest
0 голосов
/ 08 октября 2019

Мое приложение Kubernetes использует Ingress для прокси-запросов на разные серверы в соответствии с указанным URL: Я хочу конфигурацию разветвления. Я хочу, чтобы URL-адреса запросов не переписывались при пересылке на серверы. Как мне это сделать?

Я хочу, чтобы все /api URL-адреса были перенаправлены в службу be, а все остальные - в fe. Но я хочу, чтобы URL-адреса пересылались без изменений. Например,

  • запрос на /api/users должен быть перенаправлен на сервис be, как запрос на /api/users.
  • , запрос на /foo должен быть перенаправлен насервис fe как запрос для /foo.

Мой текущий ресурс Ingress выглядит так:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  ...
spec:
  ...
  rules:
    - host: ...
    - http:
        paths:
          - path: /api
            backend:
              serviceName: be
              servicePort: 8080
          - path: /
            backend:
              serviceName: fe
              servicePort: 80

, но это не работает;выдает 404 Not Found для запросов.

1 Ответ

1 голос
/ 08 октября 2019

Вход Kubernetes не переписывает URL-адреса вашего запроса, контроллер ввода делает это (независимо от того, что вы используете). Например, если ваш входной контроллер Nginx, вы можете контролировать это поведение с помощью аннотаций на входе.

...