envoyproxy/envoy

Compression and decompression of gRPC through envoy proxy

Open

#41,893 opened on 2025年11月7日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/compressionarea/httpbughelp wantedno stalebot

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (平均マージ 8d) (30d で 378 merged PRs)

説明

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?

コントリビューターガイド