You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When Envoy matches a route, it uses the following procedure:
The HTTP request’s host or :authority header is matched to a virtual host.
Each route entry in the virtual host is checked, in order. If there is a match, the route is used and no further route checks are made.
Independently, each virtual cluster in the virtual host is checked, in order. If there is a match, the virtual cluster is used and no further virtual cluster checks are made.
That means if route with path prefix matching was early in the list of routes for vhost, it will win all routes, even if they're more specific (exact path or regex). We need to ensure that routes in vhost are sorted by:
Exact path first
Longest regex path first
Longest prefix path first
This must ensure that prefix path / will not match any other routes.
The text was updated successfully, but these errors were encountered:
As per https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/route_matching
That means if route with path prefix matching was early in the list of routes for vhost, it will win all routes, even if they're more specific (exact path or regex). We need to ensure that routes in vhost are sorted by:
This must ensure that prefix path / will not match any other routes.
The text was updated successfully, but these errors were encountered: