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-адреса / пути на ходу. Легче сказать, чем сделать. Теоретически вы можете попробовать, но в целом это не очень хорошая идея.

Другие вопросы по тегам