我已将具有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网关。什么是最好的方法!