envoyproxy/envoy

supporting partial wildcards on server names for filter chain matches

Open

#11.906 aperta il 6 lug 2020

Vedi su GitHub
 (11 commenti) (3 reazioni) (0 assegnatari)C++ (5373 fork)batch import
area/tlshelp wanted

Metriche repository

Star
 (27.997 star)
Metriche merge PR
 (Merge medio 8g) (378 PR mergiate in 30 g)

Descrizione

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

Guida contributor