envoyproxy / envoyproxy/envoy

Feature Request: Support basic Regex virtual host domain matching

Open
#10,482 4 comments 3 reactions 0 assignees View on GitHub
area/http design proposal help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
428

Description

*Title*: *Feature Request : Support basic Regex virtual host domain matching*

*Description*:
I was attempting to migrate from Nginx to Envoy and encountered the following limitation with domain name matching in Virtual Hosts.

The envoy instance had the following domains (on vm01.example.com) which it required to match to a specific virtual host / cluster:
- svcx-01.uat.example.com
- svcx-03.uat.example.com
- svcx-05.uat.example.com

An Envoy instance on vm02.example.com will likewise have some number of instances of the service
- svcx-02.uat.example.com
- svcx-04.uat.example.com

Desired Behaviour:
To be able to specify a simple regular expression in the domain match field
```
...
"filters": [
{
"name": "envoy.http_connection_manager",
"typed_config": {
"@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager",
"stat_prefix": "ingress_http",
"route_config": {
"virtual_hosts": [
{
"name": "default",
"domains": [
'~svcx-\d+.uat.example.com'
],
"routes": [
{
"match": {
"prefix": "/"
},
"route": {
"cluster": "svc_cluster"
}
}
]
}
]
},
"http_filters": [
{
"name": "envoy.router"
}
]
}
}
...
```

[optional *Relevant Links*:]
* http://nginx.org/en/docs/http/server_names.html
* https://stackoverflow.com/questions/9578628/redirecting-a-subdomain-with-a-regular-expression-in-nginx

Additional:
Prior to this I also tried a wildcard domain match svcx-*.uat.example.com which would also have been sufficient had it worked.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.