CentOS 7配置nginx-1.13.10支持http/2和Server Push

0、確保openssl版本大於1.0.2html

openssl version

 

一、下載nginx-1.13.10nginx

wget http://nginx.org/download/nginx-1.13.10.tar.gz
tar zxf nginx-1.13.10.tar.gz
cd nginx-1.13.10

 

二、確認並安裝gcc等編譯組件git

yum groupinstall "Development Tools" 
yum install pcre* openssl* gd-devel* zlib-devel pcre-devel libpcre3 libpcre3-dev zlib1g-dev unzip git

 

三、配置編譯參數chrome

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module

配置正常輸出以下內容:session

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

 

四、編譯spa

make

 

五、安裝code

make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

 

六、nginx配置參考(server配置段)server

server {
        listen       443 ssl http2 default_server;
        server_name  _;
        root         /usr/local/nginx/html;

        ssl_certificate "/usr/local/nginx/conf/server.crt";
        ssl_certificate_key "/usr/local/nginx/conf/server.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;


        location /index.html {
            http2_push_preload on;
            http2_push /image.jpg;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

 

七、準備證書與密鑰文件(server.crt/server.key)htm

 

八、檢查並重啓nginxblog

nginx -t
nginx -s reload

 

九、用chrome訪問配置好的頁面

並在chrome地址欄輸入

chrome://net-internals/#http2

能夠看到對應站點的http/2的session

 

【參考資料】

https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/

相關文章
相關標籤/搜索