Header-based routing with Nginx Ingress Controller?

Hey everyone,

I am trying to PoC the following scenario:

  1. Deploy multiple services (the same ones) on a per-tenant basis, i.e. N x The same service with just different name
  2. Expose an Nginx Ingress (doing the PoC with Nginx, production will use Kong) to terminate the traffic (in the real case scenario, the auth token will be applied by Kong, hence the post-termination routing)
  3. Route the traffic after it arrives at the Ingress based on header that contains the ID of the user, i.e. route to the specific services that the user is assigned

For what I understood (I am rather inexperinced in Istio), traffic routing inside the services mesh after traffic termination at the ingress is possible

What I cannot get working is the VirtualService to drop traffic if the request has no header, i.e. the request goes through no matter if there’s a header or not.

So my questions are two:

  1. Is this scenario even possible? (route the traffic to specific service based on header)
  2. If it is possible and I am just missing basics, could you point me to the respective documentation?

Thanks in advance!