Как отправить заголовки узла запроса шлюза приложений Azure на входной шлюз istio (внутренний LB Azure) - PullRequest
0 голосов
/ 20 сентября 2019

Я настроил шлюз приложений Azure с WAF2 в качестве пограничного шлюза!Запросы отправляются в бэкэндпул в том же Vnet.Бэкэндпул - это IP-адрес Istio Ingress Gateway!Ingress Gateway настроен для нескольких хостов, как показано ниже, и аналогичные виртуальные службы сопоставляются с Ingress Gateway.

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: httpbin-gateway
spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "dev.example.com"
    - "stage.example.com"

. При такой конфигурации я всегда получаю 404, поскольку шлюз приложения Azure не отправляет заголовок хоста.к шлюзу Istio Ingress и, следовательно, последний не понимает, на каком хосте он должен принимать!Однако я попытался добавить набор перезаписи для шлюза для отправки заголовка хоста, но поскольку настроенный backendpool является внутренним IP-адресом vnet, он не позволяет мне добавлять заголовки!Я даже пытаюсь добавить фильтр envoy lua на шлюз, чтобы получить X-Original-Host и установить как Host, но он не работает, так как запрос даже не достигает шлюза istio.Однако Istio не соблюдает X-Forwarded-Host.

Поэтому, если коротко, я хотел бы отправить заголовки хостов с ApplicationGateway на шлюз Istio Ingress. Какой лучший способ сделать это!

...