If like me, you are obsessed with the perfect score on all possible charts, including your site metrics, then you must have come across many website load optimization options, one of which happens to involve compression using the popular reverse prox...

Markdown supported · ⌘↵ to post
Gzip helps most when you scope it to compressible text types and skip anything already compressed. I turn gzip on at the http or server level, set a sensible gzip_min_length so tiny responses are not inflated, and list types explicitly (HTML, CSS, JS, JSON, SVG) rather than relying on defaults. For reverse-proxied apps I also decide who compresses: either nginx or the upstream, not both — double gzip wastes CPU and can break content-length assumptions.
After enabling, verify with a request that asks for gzip and compare Content-Encoding plus body size on a static asset and an API JSON path. Watch CPU on the edge under concurrent large text responses; if workers peg while HIT ratios look fine, raise gzip_comp_level carefully or offload brotli only where clients negotiate it. One footgun: compressing already-gzipped downloads or image payloads — keep those types out of gzip_types and confirm Vary includes Accept-Encoding when you also cache at a CDN in front.