Я пытаюсь использовать механизм маршрутизации на основе пути, предоставленный входным контроллером Traefik в Кубернетесе, но у меня есть некоторые проблемы с перезаписью URL.
Моя [ОБНОВЛЕННАЯ] конфигурация следующая
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/auth-type: "basic"
traefik.ingress.kubernetes.io/auth-tls-insecure: "true"
traefik.ingress.kubernetes.io/frontend-entry-points: "http,https"
traefik.ingress.kubernetes.io/app-root: "/"
traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
traefik.ingress.kubernetes.io/rewrite-target: "/"
name: webapp-ingress
namespace: my-company
spec:
rules:
- host: local-ubuntu
- http:
paths:
- path: /
backend:
serviceName: webapp
servicePort: 80
- path: /db
backend:
serviceName: db-manager
servicePort: 8081
Трафик направляется к нужным службам, но URL все еще имеет префикс / db, когда я просматриваю журнал службы db-manager (kubernetes).Что я мог ожидать с PathPrefixStrip, так это то, что трафик будет направляться без префикса / db к контейнеру, на котором выполняется микросервис db-manager, который прослушивает / (http://db -manager: 8081 ) на стороне сервера.
Я что-то упустил?Это поддерживается traefik или только nginx?Заранее благодарим вас за отзыв.
[РЕДАКТИРОВАТЬ]
Более конкретно, я наблюдаю следующее с текущими аннотациями, которые обсуждаются ниже
- traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
- traefik.ingress.kubernetes.io / rewrite-target: "/"
URL: http://local -ubuntu / db [OK] -> 200
Затем загружаются другие ресурсы, но они указывают на неправильный базовый URL
Пример:
URL ресурса: http://local -ubuntu / public / css / bootstrap.min.css
Но это должно быть: http://local -ubuntu / db / public / css / bootstrap.min.css (работает, когда я пробовал вручную)
Я не уверен, чего мне не хватает в текущей конфигурации.