haproxy-ingress несколько бэкэнд-правил
Я пытаюсь поиграть с несколькими правилами в одном из моих операторов ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/balance-algorithm: roundrobin
ingress.kubernetes.io/maxconn-server: "10"
#ingress.kubernetes.io/secure-backends: "true"
ingress.kubernetes.io/secure-verify-ca-secret: "tls-secret-portal"
ingress.kubernetes.io/ssl-redirect: "true"
name: ingress-test
namespace: testing
spec:
tls:
- hosts:
- my.domain.name
secretName: tls-secret-portal
rules:
- host: my.domain.name
http:
paths:
- path: /
backend:
serviceName: nginx-service
servicePort: 8080
- path: /link
backend:
serviceName: apache-service
servicePort: 8080
Только служба nginx в / будет работать. Если я поменяю пути, то будет работать только служба apache. Если я дам им обоим путь (/link1 и /link2), ни один из них не будет работать, и я получу 404 not found, ошибка на том, который не работает, всегда 404 not found. Сертификат работает нормально, и это не проблема сертификата.
Шон
1 ответ
Переписывание вашего приложения - самый чистый способ сделать это, поэтому я предлагаю вам это сделать.
Вы не можете просто переписать содержимое ответа с сервера и изменить URL-адреса / пути на ходу. Легче сказать, чем сделать. Теоретически вы можете попробовать, но в целом это не очень хорошая идея.