envoyproxy/envoy

Compression and decompression of gRPC through envoy proxy

Open

#41 893 ouverte le 7 nov. 2025

Voir sur GitHub
 (3 commentaires) (0 réactions) (0 assignés)C++ (5 373 forks)batch import
area/compressionarea/httpbughelp wantedno stalebot

Métriques du dépôt

Stars
 (27 997 stars)
Métriques de merge PR
 (Merge moyen 8j) (378 PRs mergées en 30 j)

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?

Guide contributeur