HTTPS

  1. 配置证书
cd /usr/local/nginx/conf
mkdir cert
/usr/local/nginx/conf
vi nginx.conf
  1. 去掉前面的#注释.
  2. cert.pem为下载的证书pem.
  3. ssl_certificate_key为下载的cert.key.
    server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      certs/cert.pem;
        ssl_certificate_key  certs/cert.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

开启gzip

/usr/local/nginx/conf
vi nginx.conf

修改

    #修改配置为
    gzip on;                     #开启gzip压缩功能
    gzip_min_length 10k;         #设置允许压缩的页面最小字节数; 这里表示如果文件小于10个字节,就不用压缩,因为没有意义,本来就很小.
    gzip_buffers 4 16k;          #设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存
    gzip_http_version 1.1;       #压缩版本
    gzip_comp_level 2;           #设置压缩比率,最小为1,处理速度快,传输速度慢;9为最大压缩比,处理速度慢,传输速度快; 这里表示压缩级别,可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源,所以一般折中为6
    gzip types text/css text/xml application/javascript;      #制定压缩的类型,线上配置时尽可能配置多的压缩类型!
    gzip_disable "MSIE [1-6]\.";       #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip vary on;    #选择支持vary header;改选项可以让前端的缓存服务器缓存经过gzip压缩的页面; 这个可以不写,表示在传送数据时,给客户端说明我使用了gzip压缩

http 转发至 https

rewrite ^(.*)$ https://${server_name}$1 permanent;

/usr/local/nginx/conf
vi nginx.conf

修改

    server {
        listen 80;
        server_name oa.dalu.com;

        rewrite ^(.*)$ https://${server_name}$1 permanent; 
    }

开启http2

listen: 443 ssl http2;

/usr/local/nginx/conf
vi nginx.conf

修改

server {
    listen       443 ssl http2;
    server_name  localhost;

    ssl_certificate     server.crt;
    ssl_certificate_key  server.key;
}