Skip to content

HTTP filters that put after envoy.router don't work but envoy can still boot up with that configuration #7767

@KenjiChao

Description

@KenjiChao

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: {}
...

Metadata

Metadata

Assignees

Labels

area/docsenhancementFeature requests. Not bugs or questions.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions