在CentOS 6.8 x86_64的nginx 1.10.3上开启http2功能

在原有基础上修改编译选项来开启http2

回见

http://blog.csdn.net/tao_627/article/details/60957521

在nginx源码目录下的configure选项中加入--with-http_v2_module,由于HTTP2需要SSL的支持,因此如缺少--with-http_ssl_module选项,还需要加入--with-http_ssl_module。

如下:

./configure --with-pcre=/usr/local/src/pcre-8.40 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-openssl=/usr/local/src/openssl-1.1.0e \
--add-module=/usr/local/src/nginx_modules_demo/ngx_http_mytest_module \
--with-http_ssl_module \
--with-threads \
--with-http_v2_module \
--with-debug

make
make install

注意:中途增加第三方模块并重新编译安装nginx,原有/usr/local/nginx/conf下面的文件并不会覆盖

配置ssl证书
调研了一下申请免费证书的基本步骤,发现首先需要注册一个合法域名,dns可以解析到这个域名,才能针对这个域名申请证书。
这个对于只做demo的我来说,比较难办。于是我找到一个讨巧的方法,直接去公司线上找一个小文件的服务域名的证书和私钥,配置在本地测试服务器上。
过程略。

比如说,这个域名是www.xyaz.cn,它的服务器证书和私钥分别记为server.crt和server.key文件。

下面配置nginx.conf,得到
 

 # HTTPS server
    server {
        listen       443 ssl http2 default_server;
        server_name  localhost;


        ssl on;
        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  5m;


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


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

检查nginx配置是否正确?
/usr/local/nginx/sbin/nginx -t

编译带有http2功能的curl作为本地测试客户端
http://blog.csdn.net/tao_627/article/details/77263080

测试nginx的http2功能
vim /etc/hosts
添加-行
127.0.0.1   www.xyaz.cn
本地测试
curl --http2 -vo test.out https://www.xyaz.cn/
在CentOS 6.8 x86_64的nginx 1.10.3上开启http2功能_第1张图片

参考文献
http://www.cnblogs.com/bugutian/p/6628455.html

你可能感兴趣的:(Nginx)