envoyproxy / envoyproxy/envoy

Support dynamic host rewrite

Open
#16,507 7 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
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

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.