envoyproxy/envoy

Compression and decompression of gRPC through envoy proxy

オープン

#41,893 opened on 2025/11/07

 (3 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (5,373 件のフォーク)batch import
area/compressionarea/httpbughelp wantedno stalebot

Repository metrics

Stars
 (27,997 個のスター)
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?

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