The gzip_proxied directive allows for the following options (non-exhaustive):
- expired
enables compression if a response header includes the “Expires” field with a value that disables caching;- no-cache
enables compression if a response header includes the “Cache-Control” field with the “no-cache” parameter;- no-store
enables compression if a response header includes the “Cache-Control” field with the “no-store” parameter;- private
enables compression if a response header includes the “Cache-Control” field with the “private” parameter;- no_last_modified
enables compression if a response header does not include the “Last-Modified” field;- no_etag
enables compression if a response header does not include the “ETag” field;- auth
enables compression if a request header includes the “Authorization” field;
I can't see any rational reason to use most of these options. For example, why would whether or not a proxied request contains the Authorization
header, or Cache-Control: private
, affect whether or not I want to gzip it?
Given that old versions of Nginx strip ETags from responses when gzipping them, I can see a use case for no_etag: if you don't have Nginx configured to generate ETags for your gzipped responses, you may prefer to pass on an uncompressed response with an ETag rather than generate a compressed one without an ETag.
I can't figure out the others, though.
What are the intended use cases of each of these options?