Я ищу рецепт, как настроить входной контроллер traefik и kubernetes для использования пользовательских серверов внешнего и внутреннего интерфейса. Это не внешние интерфейсы и серверные части, используемые в traefik, а серверы приложений, которые мы хотим развернуть на k8s. Чтобы прояснить идею, вот как должен выглядеть запрос клиента:
Клиент выполнит вызов http://a.b.c.com/app?params=bla Сначала он должен быть перенаправлен на наш интерфейсный сервер для аутентификации, а затем на / app серверный сервер для обслуживания его / ее запроса.
Я думал о следующей конфигурации:
Установить точку входа traefik равной 443
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
CertFile = "/ssl/server.crt"
KeyFile = "/ssl/server.key"
это перенаправит трафик на порт 443. Во входном контроллере я могу указать путь / к нашему внешнему серверу, работающему на k8s, и / app для указания на наш внутренний сервер, например,
rules:
- host: "a.b.c.com"
http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 443
- path: /app
backend:
serviceName: app
servicePort: 8888
Проблема в том, что я не знаю, будет ли это работать, так как я определяю пути: / и / app во входном контроллере, а позже это подпуть первого. Но я хочу действительно перенаправить трафик на внешний сервер приложений, работающий через порт 443. Затем (после аутентификации пользователей) перенаправить трафик на серверный путь / путь к приложению.
Любой совет?
Спасибо,
Валентин.