You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: charts/ontoserver/README.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -706,7 +706,18 @@ The `GatewayClass` is named after `ontoserver.gateway.className` and the `EnvoyP
706
706
Three optional traffic policies and a data-plane ServiceMonitor can be independently enabled (all require `ontoserver.gateway.enabled: true` and Envoy Gateway CRDs):
707
707
708
708
- **ClientTrafficPolicy** (`envoygateway.clientTrafficPolicy.enabled`) — applies an HTTP idle timeout on inbound connections from clients. Optionally enables PROXY protocol (`proxyProtocol.enabled`) for upstream load balancers that send PROXY protocol headers (e.g. AWS NLB), and configures client IP detection via `clientIPDetection.xForwardedFor.numTrustedHops` (set to `0` alongside PROXY protocol to use the peer address rather than XFF headers).
709
-
- **BackendTrafficPolicy** (`envoygateway.backendTrafficPolicy.enabled`) — caps the maximum upstream request body size and enforces a local rate limit (requests per time unit).
709
+
- **BackendTrafficPolicy** (`envoygateway.backendTrafficPolicy.enabled`) — caps the maximum upstream request body size, enforces a local rate limit (requests per time unit), and optionally throttles specific bot user agents. Set `envoygateway.backendTrafficPolicy.blockedUserAgents` to a list of User-Agent substrings (matched as regular expressions) to rate-limit those clients to 1 request per hour — effectively blocking bots such as SemrushBot or AhrefsBot that generate large volumes of traffic:
710
+
711
+
```yaml
712
+
envoygateway:
713
+
backendTrafficPolicy:
714
+
enabled: true
715
+
blockedUserAgents:
716
+
- SemrushBot
717
+
- AhrefsBot
718
+
```
719
+
720
+
Matched clients receive `429 Too Many Requests`. The global rate limit still applies to all other traffic.
710
721
- **SecurityPolicy** (`envoygateway.securityPolicy.enabled`) — enforces IP-based authorization by denying traffic from a list of CIDRs.
711
722
- **Gateway ServiceMonitor** (`envoygateway.gatewayServiceMonitor.enabled`) — creates a Prometheus `ServiceMonitor` targeting the Envoy Gateway data-plane pods (scraping `/stats/prometheus` on the `metrics` port). Set `envoygateway.controlPlaneNamespace` to the namespace where Envoy Gateway is installed (default: `envoy-gateway-system`). Requires Prometheus Operator CRDs.
712
723
@@ -1019,6 +1030,7 @@ Requires the [External Secrets Operator](https://external-secrets.io/) installed
1019
1030
| `envoygateway.backendTrafficPolicy.requestBufferLimit` | Max request body size | `1Gi` |
1020
1031
| `envoygateway.backendTrafficPolicy.rateLimit.requests` | Rate limit requests per unit | `50` |
| `envoygateway.backendTrafficPolicy.blockedUserAgents` | List of User-Agent patterns (regex) to throttle to 1 req/hour — use to block crawlers and bots (e.g. SemrushBot, AhrefsBot) | `[]` |
0 commit comments