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

RateLimiting – send request headers upstream #6141

Closed
lvijay opened this issue Mar 1, 2019 · 5 comments
Closed

RateLimiting – send request headers upstream #6141

lvijay opened this issue Mar 1, 2019 · 5 comments
Labels
design proposal Needs design doc/proposal before implementation

Comments

@lvijay
Copy link

lvijay commented Mar 1, 2019

Title: Rate Limiting Server can send HTTP request headers upstream

Description:

Envoy issue #3555 1 added support in the Rate Limiting Service's proto for sending Response HTTP Headers to the invoking client (similar to, say, Twitter's API of x-rate-limit-limit: 100).

The intention of this issue is to have similar support in the Envoy rls.proto except specify a list of headers which Envoy will send to the Upstream server.

Why is this useful?

Sending request headers to the upstream server is useful when adding Rate Limiting to a system which already has its own Rate Limiting implementation. To gradually move out of the old rate limiting system to the new, the upstream service can be configured to switch off its rate limiting when it receives a request header from Envoy's RLS. A request that goes through Envoy's RLS would send a request header, say, x-rls-rate-limited: true, which Envoy would forward to the upstream server. The upstream server would not do its own internal rate limiting when this header is present.

[optional Relevant Links:]

@alyssawilk alyssawilk added the design proposal Needs design doc/proposal before implementation label Mar 1, 2019
@stale
Copy link

stale bot commented Mar 31, 2019

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions.

@stale stale bot added the stale stalebot believes this issue/PR has not been touched recently label Mar 31, 2019
@stale
Copy link

stale bot commented Apr 7, 2019

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions.

@stale stale bot closed this as completed Apr 7, 2019
@nandu-vinodan
Copy link
Contributor

I would like to take this up, can we reopen this ?

@dio dio reopened this Sep 30, 2019
@stale stale bot removed the stale stalebot believes this issue/PR has not been touched recently label Sep 30, 2019
@dio
Copy link
Member

dio commented Sep 30, 2019

@nandu-vinodan done. Please send the PR when it is ready. Good luck!

htuch pushed a commit that referenced this issue Oct 16, 2019
*Ability to add custom upstream headers from ratelimit service/filter.

*For LimitStatus::OK, custom upstream headers are added if RLS service sends upstream headers.

Risk Level: Low

Testing:
Unit and integration tests added.
Verified with modified github.com/lyft/ratelimit service.
Passes "bazel test //test/..." in Linux
Docs Changes: protobuf documentation updated

Release Notes: ratelimit: support for adding custom headers to upstream server
from ratelimit service

** Issues: #6141

Signed-off-by: Nandu Vinodan <nandu.vinodan@freshworks.com>
nandu-vinodan added a commit to nandu-vinodan/envoy that referenced this issue Oct 17, 2019
*Ability to add custom upstream headers from ratelimit service/filter.

*For LimitStatus::OK, custom upstream headers are added if RLS service sends upstream headers.

Risk Level: Low

Testing:
Unit and integration tests added.
Verified with modified github.com/lyft/ratelimit service.
Passes "bazel test //test/..." in Linux
Docs Changes: protobuf documentation updated

Release Notes: ratelimit: support for adding custom headers to upstream server
from ratelimit service

** Issues: envoyproxy#6141

Signed-off-by: Nandu Vinodan <nandu.vinodan@freshworks.com>
@lvijay
Copy link
Author

lvijay commented Oct 29, 2019

@alyssawilk this issue may be closed. it was fixed by #8565.

@lvijay lvijay closed this as completed Oct 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design proposal Needs design doc/proposal before implementation
Projects
None yet
Development

No branches or pull requests

4 participants