Support dynamic host rewrite
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
**If you are reporting *any* crash or *any* potential security issue, *do not*
open an issue in this repo. Please report the issue via emailing
envoy-security@googlegroups.com where the issue will be triaged appropriately.**
*Description*:
>Describe the issue.
We would like to use Envoy to do a dynamic host rewrite and route the request to different endpoint, What we want is:
1. fetch part of request endpoint as env variable `$var1`
2. fetch value of header "x-google-service-name" as `$var2`
3. using customized logic to construct the endpoint: `$var1.$var2.internal.google.com` and route the request
4. return the response form upstream cluster back to customer
Example:
We have a request `customerId123.google.com` from customer along with a header `x-google-service-name="sampleService"` and want to construct a new endpoint `customerId123.sampleService.internal.google.com` and route the request using Envoy.
I've walked through Envoy docs and found dynamic forward proxy and Lua filter might be helpful, but still wanna know how will Envoy support fetch value from host/header and dynamically define as a variable?
Any suggestion is appreciated. Thanks.
[optional *Relevant Links*:]
>Any extra documentation required to understand the issue.https://github.com/envoyproxy/envoy/issues/8768
Contributor guide
Assessment
This issue has not been assessed yet.