PS:目前这个似乎只支持https协议访问的网站,以后似乎也是只支持https协议访问的网站
brotli是Google开发的一款压缩算法,目前已经google49版本以及FF浏览器已经开始支持此算法,IE11非常抱歉。还有一个特性是brotli与gzip算法可以共存,当然brotli的优先级别更高。针对nginx还专门有一个模块:ngx_brotli。项目主页:https://github.com/google/ngx_brotli
直入主题给我们的nginx添加这个模块:
由于新版的缘故,自2016年12月以后的版本,ngx_brotli的模块安装更加的方便,在网上其他教程还有要求依赖库goole/brotli的安装以及额外编译bagder/libbrotli,这里都不需要,因为新版已经内置了。
安装方法:
#克隆ngx_brotli git clone https://github.com/google/ngx_brotli cd /usr/local/ngx_brotli #进入ngx_brotli目录 git submodule update --init #更新ngx_brotli所需依赖库 #至此ngx_brotli所需模块都下载完成 #然后是给nginx添加此模块,进入nginx的安装目录 cd /nginx-1.12.0/ ./configure {之前的nginx配置参数} --add-module=/usr/local/ngx_brotli #添加ngx_brotli模块路径 #然后是make make #接着是nginx平滑升级的后续操作 #这里模块才是真正的安装完毕
模块配置:
ngx_brotli的大部分配置参数可以在nginx配置文件的http,server和location段内,具体配置参数请参考项目主页。这里给出一个简要配置方案:
brotli on; brotli_comp_level 6; brotli_buffers 16 8k; brotli_min_length 20; brotli_types *; brotli_window 512k;
检查是否生效:
查看请求头部是否包含content-Encoding:br