如何将Azure应用程序网关请求主机标头发送到istio入口网关(Azure内部LB)

时间:2019-09-20 19:46:06

标签: azure kubernetes-ingress istio azure-aks azure-application-gateway

我已将具有WAF2的Azure应用程序网关配置为边缘网关!请求被发送到同一Vnet内的backendpool。后端池是Istio Ingress Gateway的IP! 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"

使用此配置,由于Azure应用程序网关不会将主机标头发送到Istio Ingress网关,因此后者总是不知道它应该在哪一台主机上接收,所以我总是得到404!但是,我尝试为网关添加重写集以发送主机标头,但由于配置的backendpool是内部vnet IP,因此不允许我添加标头!我什至尝试在网关上添加envoy lua过滤器以获取X-Original-Host并将其设置为Host,但是由于请求甚至没有到达istio网关,因此它不起作用。但是Istio不尊重X-Forwarded-Host

因此,总而言之,我想将Host标头从ApplicationGateway发送到Istio Ingress网关。什么是最好的方法!

0 个答案:

没有答案