can istio support route to different service by dynamic part of uri path
I do not think Istio can do what you ask. The good side of it is that you must control all the entry points into your cluster - which application is accessible and how it is accessible - less security holes.
I am not sure but on github they use regexp in VirtualService
:
- match: - headers: cookie: regex: "^(.*?;)?(user=dev-123)(;.*)?"
so you could try to use something like:
apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata: name: my-virtualservicespec: hosts: - "*" gateways: - my-gateway http: - match: - uri: prefix: regex: "/applications/(?<appname>.*)" route: - destination: host: match_group['appname'] port: number: 9080
instead of regix