Compression and decompression of gRPC through envoy proxy
#41,893 opened on Nov 7, 2025
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
What is the proper way to use Envoy to compress and decompress application/grpc?
Description
I am trying to compress and decompress application/grpc through 2 envoy proxies. One handling the compression and one the decompression. However, I find through Wireshark that the Envoy Decompressor filter breaks the gRPC protocol by failing to set the END_STREAM flag on the final DATA frame, which causes the backend server to immediately send a TCP Reset.
A similar issue has been opened since 2019 but not resolved.
Given this issue, what is the most stable and reliable implementation of compression and decompression through Envoy? Is implementing a header mutation filter to remove the trailers the recommended solution?