ngx_http_gzip_module
ngx_http_gzip_module 用gzip方法压缩响应数据,节约带宽
- gzip on | off; 启用或禁用gzip压缩
- gzip_comp_level level; 压缩比由低到高:1 到 9, 默认:1
- gzip_disable regex …;
匹配到客户端浏览器不执行压缩
示例:gzip_disable “MSIE[1-6].”; - gzip_min_length length; 启用压缩功能的响应报文大小阈值
- gzip_http_version 1.0 | 1.1;
设定启用压缩功能时,协议的最小版本,默认:1.1 - gzip_buffers number size;
支持实现压缩功能时缓冲区数量及每个缓存区的大小
默认:32 4k 或 16 8k - gzip_types mime-type …;
指明仅对哪些类型的资源执行压缩操作;即压缩过滤器
默认包含有text/html,不用显示指定,否则出错 - gzip_vary on | off;
如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding” - gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any …;
nginx充当代理服务器时,对于后端服务器的响应报文,在何种条件下启用压缩功能
off:不启用压缩
expired,no-cache, no-store,private:对后端服务器的响应报文首部Cache-Control值任何一个,启用压缩功能 - 示例:
gzip on;
gzip_comp_level 6;
gzip_min_length 64;
gzip_vary on;
gzip_types text/xml text/css application/javascript;
ngx_http_ssl_module
- ssl on | off;
为指定虚拟机启用HTTPS protocol, 建议用listen指令代替 - ssl_certificate file;
当前虚拟主机使用PEM格式的证书文件 - ssl_certificate_key file;
当前虚拟主机上与其证书匹配的私钥文件 - ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];
支持ssl协议版本,默认为后三个 - ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
none: 通知客户端支持ssl session cache,但实际不支持
builtin[:size]:使用OpenSSL内建缓存,为每worker进程私有
[shared:name:size]:在各worker之间使用一个共享的缓存 - ssl_session_timeout time;
客户端连接可以复用ssl session cache中缓存的有效时长,默认5m - 示例:
cd /etc/pki/tls/certs/
make xuepeng.com.crt
openssl rsa -in xuepeng.com.key -out xuepeng.com.key1
mkdir /data/ssl/html
echo ssl > /data/ssl/html/index.html
vim /etc/nginx/conf.d/ssl.conf
server {
listen 443 ssl;
server_name www.xuepeng.com;
root /data/ssl/html;
ssl_certificate /etc/nginx/ssl/xuepeng.com.crt;
ssl_certificate_key /etc/nginx/ssl/xuepeng.com.key1;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
实现多域名 https
自签名CA证书
mkdir /etc/nginx/certs
cd /etc/nginx/certs/
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 3650 -out ca.crt
为网站 www.xuepeng.com 签发证书
openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.xuepeng.com.key -out www.xuepeng.com.csr // 生成私钥和证书申请文件
openssl x509 -req -days 3650 -in www.xuepeng.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.xuepeng.com.crt // 签发证书
openssl x509 -in www.xuepeng.com.crt -noout -text // 查看证书内容
配置网站 www.xuepeng.com 支持 ssl
vim /etc/nginx/conf.d/ssl.conf
server {
listen 80;
listen 443 ssl;
server_name www.xuepeng.com;
root /data/html/ssl;
ssl_certificate /etc/nginx/certs/www.xuepeng.com.crt;
ssl_certificate_key /etc/nginx/certs/www.xuepeng.com.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
mkdir -p /data/html/ssl/
echo ssl > /data/html/ssl/index.html
nginx -t
nginx
为网站 www.xuepeng.org 签发证书
openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.xuepeng.org.key -out www.xuepeng.org.csr
openssl x509 -req -days 3650 -in www.xuepeng.org.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.xuepeng.org.crt
配置网站 www.xuepeng.org 支持 ssl
vim /etc/nginx/conf.d/ssl2.conf
server {
listen 80;
listen 443 ssl;
server_name www.xuepeng.org;
root /data/html/ssl2;
ssl_certificate /etc/nginx/certs/www.xuepeng.org.crt;
ssl_certificate_key /etc/nginx/certs/www.xuepeng.org.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
mkdir -p /data/html/ssl2/
echo ssl2 > /data/html/ssl2/index.html
nginx -s reload
nginx