Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow internal redirects #4150

Closed
irl-segfault opened this issue Mar 3, 2022 · 4 comments
Closed

Follow internal redirects #4150

irl-segfault opened this issue Mar 3, 2022 · 4 comments
Labels
r:duplicate This issue or pull request already exists

Comments

@irl-segfault
Copy link

irl-segfault commented Mar 3, 2022

Please describe your use case / problem.
emissary-ingress/Ambassador does not currently expose a way to leverage Envoy's "Internal redirects" feature, whereby

Envoy supports handling 3xx redirects internally, that is capturing a configurable 3xx redirect response, synthesizing a new request, sending it to the upstream specified by the new route match, and returning the redirected response as the response to the original request.

The only redirects that emissary-ingress/Ambassador supports are statically defined redirects that are effectively hard-coded mappings.

Describe the solution you'd like
Expose configuration/Mapping knobs to leverage Envoy internal redirets.

Describe alternatives you've considered
No alternatives I can think of

Additional context
The example flow I'm thinking of is

Client sends a GET request for http://foo.com/bar
Upstream 1 sends a 302 with "location: http://baz.com/eep"
Envoy is configured to allow redirects on the original route, and sends a new GET request to Upstream 2, to fetch http://baz.com/eep with the additional request header "x-envoy-original-url: http://foo.com/bar"
Envoy proxies the response data for http://baz.com/eep to the client as the response to the original request.

@irl-segfault
Copy link
Author

This is the same issue raised in #2846, which was sadly closed :(

@alexgervais
Copy link
Contributor

Thanks for opening this feature request @irl-segfault! Is there a significant difference between your request and #2846, or would you be comfortable marking this one as a duplicate?

@irl-segfault
Copy link
Author

fine marking this as duplicate

@alexgervais alexgervais added the r:duplicate This issue or pull request already exists label Mar 22, 2022
@alexgervais
Copy link
Contributor

Closing in favor of this duplicate: #2846

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
r:duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants