给nginx安装了一些模块,在这里做一个汇总

本文基于Ubuntu 18.04LTS安装lnmp 1.7配置

Brotli压缩

作用

Brotli最初发布于2015年,用于网络字体的离线压缩。Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。其中的编码器被部分改写以提高压缩比,编码器和解码器都提高了速度,流式API已被改进,增加更多压缩质量级别。新版本还展现了跨平台的性能改进,以及减少解码所需的内存。

与常见的通用压缩算法不同,Brotli使用一个预定义的120千字节字典。该字典包含超过13000个常用单词、短语和其他子字符串,这些来自一个文本和HTML文档的大型语料库。预定义的算法可以提升较小文件的压缩密度。

使用brotli取代deflate来对文本文件压缩通常可以增加20%的压缩密度,而压缩与解压缩速度则大致不变。使用Brotli进行流压缩的内容编码类型已被提议使用“br”。

简单说,用于提高内容压缩率,加快网站打开速度

安装

#先下载brotli
git clone https://github.com/google/ngx_brotli.git
#进入目录
cd ngx_brotli
#更新brotli
git submodule update --init

模块安装基于lnmp,模块安装方法见LNMP 1.2/1.3或更高版本升级Nginx、MySQL/MariaDB、PHP教程

配置

修改nginx.confhttp段内添加以下内容来启用Brotli 压缩

#开启Brotli压缩
brotli on;
#压缩等级,0 到 11,默认值是 6,过大会额外消耗服务器CPU
brotli_comp_level 6;
#设置需要进行压缩的最小响应大小,单位为字节
brotli_min_length   512;
#指定哪些MIME类型进行压缩
brotli_types text/plain text/javascript text/css text/xml text/x-component application/javascript application/x-javascript application/xml application/json application/xhtml+xml application/rss+xml application/atom+xml application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
#是否允许查找预处理好的、以 .br 结尾的压缩文件。可选值为 on、off、always
brotli_static       always;

nginx_cookie_flag_module

作用

A Nginx module called nginx_cookie_flag by Anton Saraykin let you quickly set cookie flag as HTTPOnly and Secure in Set-Cookie HTTP response header.

简单说,用于快速配置安全的跨域cookie

安装

#下载模块源码即可
git clone https://github.com/AirisX/nginx_cookie_flag_module.git

模块安装基于lnmp,模块安装方法见LNMP 1.2/1.3或更高版本升级Nginx、MySQL/MariaDB、PHP教程

配置

locationserver域中直接添加配置

set_cookie_flag HttpOnly secure;

参考

How to Implement HTTPOnly and Secure Cookie in Nginx?
lnmp


to be continued...


Keeping frank is the easiest way to keep it simple.