入口网关位于AWS ELB(经典)后面,使用nodeport,我想在基于客户端ip的虚拟服务中路由TCP流量。
当然,ELB的代理协议是启用的。
当我使用HTTP时,它可以工作。配置如下。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: app-vservice
namespace: test
spec:
hosts:
- "app-service"
http:
- match:
- headers:
x-forwarded-for:
exact: 123.123.123.123
route:
- destination:
host: app-service
subset: v2
- route:
- destination:
host: app-service
subset: v1但在公文中找不到TCP路由的报头字段。
这不可能吗?
谢谢。
发布于 2020-06-05 12:34:42
根据文档,是的,在Istio的TCPRoute中没有可以传递头部的字段。同样,为了回答你的问题,每个报头操作都应该使用特使过滤器来完成,因为基于特使构建的Istio支持这一点,同时也降低了复杂性。
按照Istio文档中的说明使用特使和lua过滤器。这是可以实现的。请跟随docs特使。
查看虚拟服务中的头的Istio Discussion。
https://stackoverflow.com/questions/62207744
复制相似问题