envoyproxy/envoy

supporting partial wildcards on server names for filter chain matches

Open

#11,906 opened on Jul 6, 2020

View on GitHub
 (11 comments) (3 reactions) (0 assignees)C++ (5,373 forks)batch import
area/tlshelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Currently, when doing a filter chain match on server names you cannot use a partial wildcard:

https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/listener/listener_components.proto#L126

From a very quick look at how the server names are looked up:

https://github.com/envoyproxy/envoy/blob/master/source/server/filter_chain_manager_impl.cc#L418

it seems like supporting this could be done without a huge perf impact.

We have a use case for this, which would allow us to split a bunch of vhost/route configs into their own chains. This would save us from having to support per route overrides for the filters that need to be globally disabled and only enabled for some vhosts/routes.

Any reasons not to support this? Thoughts?

cc: @htuch @lambdai @lizan @fishcakez

Contributor guide