nginx 配置(三)

ngx_http_gzip_module

ngx_http_gzip_module 用gzip方法压缩响应数据,节约带宽

  1. gzip on | off; 启用或禁用gzip压缩
  2. gzip_comp_level level; 压缩比由低到高:1 到 9, 默认:1
  3. gzip_disable regex …;
    匹配到客户端浏览器不执行压缩
    示例:gzip_disable “MSIE[1-6].”;
  4. gzip_min_length length; 启用压缩功能的响应报文大小阈值
  5. gzip_http_version 1.0 | 1.1;
    设定启用压缩功能时,协议的最小版本,默认:1.1
  6. gzip_buffers number size;
    支持实现压缩功能时缓冲区数量及每个缓存区的大小
    默认:32 4k 或 16 8k
  7. gzip_types mime-type …;
    指明仅对哪些类型的资源执行压缩操作;即压缩过滤器
    默认包含有text/html,不用显示指定,否则出错
  8. gzip_vary on | off;
    如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding”
  9. 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值任何一个,启用压缩功能
  10. 示例:
    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

  1. ssl on | off;
    为指定虚拟机启用HTTPS protocol, 建议用listen指令代替
  2. ssl_certificate file;
    当前虚拟主机使用PEM格式的证书文件
  3. ssl_certificate_key file;
    当前虚拟主机上与其证书匹配的私钥文件
  4. ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];
    支持ssl协议版本,默认为后三个
  5. ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
    none: 通知客户端支持ssl session cache,但实际不支持
    builtin[:size]:使用OpenSSL内建缓存,为每worker进程私有
    [shared:name:size]:在各worker之间使用一个共享的缓存
  6. ssl_session_timeout time;
    客户端连接可以复用ssl session cache中缓存的有效时长,默认5m
  7. 示例:
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 
发布了61 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/studywinwin/article/details/104234123