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

docs: clarify clusterClientRatelimit empty client id logic #2756

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions docs/reference/filters.md
Original file line number Diff line number Diff line change
Expand Up @@ -2045,12 +2045,14 @@ See also the [ratelimit docs](https://godoc.org/github.com/zalando/skipper/ratel

This ratelimit is calculated across all skipper peers and the same
rate limit group. The first parameter is a string to select the same
ratelimit group across one or more routes. The rate limit group
allows the given number of requests by client. The definition of the
same client is based on data of the http header and can be changed
with an optional fourth parameter. If the fourth parameter is set
skipper will use the HTTP header defined by this to put the request in
the same client bucket, else the X-Forwarded-For Header will be used.
ratelimit group across one or more routes.
The rate limit group allows the given number of requests by client.
The client identity is derived from the value of the `X-Forwarded-For` header or client IP address
and can be changed with an optional fourth parameter.
The optional fourth parameter may specify comma-separated list of header names.
Skipper will join header values to obtain client identity.
If identity value is empty (i.e. when all header values are empty or missing) then ratelimit does not apply.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor: maybe be describe what if some values are empty or missing, but it seems optional for user documentation.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All values must be missing/empty for the combined value to become empty (see TupleLookuper)


You need to run skipper with command line flags `-enable-swarm` and
`-enable-ratelimits`. See also our [cluster ratelimit tutorial](../tutorials/ratelimit.md#cluster-ratelimit)

Expand Down