nginx 设置 gzip http 版本
设置gzip_http_version
使用ab
测试网站,参数如下
ab -n 50 -c 10 -H "Accept-Encoding: gzip, deflate" https://example.com/
发现返回的文档没有被压缩,查看nginx
日志也显示返回的是原始大小,查询资料后发现是nginx
配置gzip_http
版本问题
gzip on;
gzip_vary on;
gzip_min_length 1k;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1
gzip_http_version
设置为了1.1,而 ab
只支持http_version:1.0
,改为1.0
即可。
gzip_http_version 1.0
再次测试,返回数据是被压缩后的数据,从nginx
日志也可以看到数据是压缩后的。类似的ab
的工具还有siege,可以很好的支持http 1.1
小结
在nginx
配置中,有些属性如果没有显示的进行设置,比如设置gzip on;
时,没有设置gzip_http_version
,nginx
会启用默认值 gzip_http_version:1.1;
,所以当你不想限制http_version
的最低版本时,仅仅把gzip_http_version
注释掉是不行的,你必须给其赋一个值才可以。类似这种问题不光在nginx
配置中需要注意,在其它软件配置文件中也要注意