贫农 2017-05-05
nginx服务器通过ngx_http_gzip_module,ngx_http_gzip_static_module,ngx_http_gunzip_module三个模块对指令进行解析处理。
其中ngx_http_gzip_module模块的配置
#开启gzip
gzip on;
#不压缩临界值,大于1K的才压缩,一般不用改
gzip_min_length 1k;
#设置压缩文件使用缓存空间大小,个数+大小
gzip_buffers 4 16k;
#用了反向代理的话,末端通信是HTTP/1.0;默认是HTTP/1.1,表示客户端使用1.1以上版本的http协议才使用gzip
gzip_http_version 1.0;
#压缩级别,1-9,数字越大压缩的越好,时间也越长
gzip_comp_level 2;
#响应ie4,5,6浏览器时不进行gzip压缩
gzip_disable "MSIE [4-6]\.";
#跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",
gzip_vary on;
#根据响应页面的MIME类型选择性的开启gzip功能
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
#Nginx作为反向代理的时候启用,根据某些请求和应答来决定是否在对代理请求的应答启用gzip压缩
gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
ngx_http_gzip_static_module模块配置,负责搜索和发送经过gzip处理的数据
与上面的一样,开启不同:gzip_static on | off | always;
ngx_http_gunzip_module模块,用于对后端服务器压缩,或者预压缩的数据,为了防止浏览器不能解压,用此模块解压
与上面的一样,开启不同:gunzip_static on | off;