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
Hey! First of all, I am new to Istio/Envoyproxy, so the issue that I am describing here, may have been already mentioned, although I did not find anyghin related to the subject. So my sincere apologies if I am mistaken.
What I am trying to achieve:
I am trying to use Istio configured with an Envoy filter in order to have a global buffer, in order to filter requests bigger than 10 MB. Moreover, I want that for some particular routes/endpoints (i.e. /shipments), the max request size is smaller than the global filter (i.e. 5 MB).
What I did:
The following yaml describes the implementation of a global filter of 10 MB using envoy.extensions.filters.http.buffer.v3.Buffer, as well as the implementation of a more specific filter of 5 MB to the route /shipments using envoy.extensions.filters.http.buffer.v3.Buffer.
What is not working:
Although the global filter is working, the buffer per route is not. I already tried reading the documentation more carefully, but without success.
I'm not sure the yaml is 100% correct, neither if this is the best way to implement this as I don't fully grasp Envoy's capabilities.
Any suggestion is welcomed
Maybe vhost needs to be set and the route match should be written above.
---
apiVersion: networking.istio.io/v1alpha3kind: EnvoyFiltermetadata:
name: buffer-per-route-filternamespace: istio-systemspec:
workloadSelector:
labels:
istio: ingressgatewayconfigPatches:
- applyTo: HTTP_ROUTEmatch:
routeConfiguration:
vhost:
name: "xxxx"## your vhost name, such as "*:80", you can find the name by envoy configdumproute:
name: "yyyy"## the route config name patch:
operation: MERGEvalue:
typed_per_filter_config:
envoy.filters.http.buffer:
"@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.BufferPerRoutevalue:
buffer:
max_request_bytes: 5242880# 5 MB.
🧭 This issue or pull request has been automatically marked as stale because it has not had activity from an Istio team member since 2024-01-24. It will be closed on 2024-05-08 unless an Istio team member takes action. Please see this wiki page for more information. Thank you for your contributions.
Description:
What I am trying to achieve:
I am trying to use Istio configured with an Envoy filter in order to have a global buffer, in order to filter requests bigger than
10 MB
. Moreover, I want that for some particular routes/endpoints (i.e./shipments
), the max request size is smaller than the global filter (i.e.5 MB
).What I did:
The following
yaml
describes the implementation of a global filter of10 MB
usingenvoy.extensions.filters.http.buffer.v3.Buffer
, as well as the implementation of a more specific filter of5 MB
to the route/shipments
usingenvoy.extensions.filters.http.buffer.v3.Buffer
.What is not working:
Although the global filter is working, the buffer per route is not. I already tried reading the documentation more carefully, but without success.
I'm not sure the
yaml
is 100% correct, neither if this is the best way to implement this as I don't fully grasp Envoy's capabilities.Any suggestion is welcomed
Thanks
The text was updated successfully, but these errors were encountered: