GZIP REF: https://www.nginx.com/resources/admin-guide/compression-and-decompression/
http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip
大家都知道GZIP是一件耗费CPU的工作,把GZIP放到作为LB服务的nginx时能减轻后端应用服务器压力。
gzip 配置示例
Context: http
, server
, location
, if in location
gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml;
以上的配置都很容易理解,看看上述官方文档就可以了,只有一个比较难理解:gzip_proxied
这个参数用于指定当 http请求来自代理服务器时(如何判断?请求头里包含 VIA 这个参数就认为这个请求来自代理服务器)
基于代理服务器的类型来决定是否进行压缩。如上述配置中,请求头里 包含了 expired 那么就启用压缩,其他的参数也类似。其中有两个特殊的参数,any表示全部都开启压缩,off表示全部都不压缩
至于为什么会存在这么一个配置?
官方文档是这么举例的:For example, it is reasonable to compress responses only to requests that will not be cached on the proxy server.
那为什么是reasonable呢?哈哈,我也不确定,但网上的一种说法是对于一些可缓存的静态内容可以不启用压缩,因为这些静态内容大多都是经过压缩优化,gzip难以对其继续压缩,即使进行了意义也不大。
反正,具体场景具体分析把,到时遇到了真的不用压缩的场景,我们记得有这么一个选项就好了
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于