-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Title: HTTP filters that put after envoy.router don't work but envoy can still boot up with that configuration
Description:
I'm trying to add the buffer filter to the http filters list so that we can set max request size. What I observed is that if I put the buffer filter after envoy.router filter, I don't get a 413 response when sending a request with a large file, but envoy can still boot with that configuration. On the other hand, if I reverse the order and put envoy.router filter after the buffer filter, it works as expected.
It's weird to me that yaml configuration still compiles and envoy is able to boot up with that configuration while the router filter doesn't propagate requests to subsequent filters. I can't seem to find anything in the docs implying this behavior. At least I would expect the router filter doc be updated saying that it should be the last one in the http filters list.
Config:
The one that's not working:
...
http_filters:
- name: envoy.router
typed_config: {}
- name: envoy.buffer
config:
max_request_bytes: 30000000
...
The one that's working:
...
http_filters:
- name: envoy.buffer
config:
max_request_bytes: 30000000
- name: envoy.router
typed_config: {}
...