为 nginx 添加 HTTP/2 与 CHACHA20_POLY1305 支持

HTTP/2 协议正式发布已有数月有余,主流浏览器的最新版本均已经支持HTTP/2;而且不少Web Server也已经开始支持,nginx官方也表示要在年底支持HTTP/2。HTTP/2基于SPDY,可以有效改善站点的通讯速度,特别是HTTPS站点。本站也早已开启HTST,强制全局HTTPS,适合应用HTTP/2。虽然目前nginx的mainline从1.9.5版本开始支持HTTP/2,不过编译时候需要加上相应参数,不然不会编译HTTP/2的模块。

至于CHACHA20_POLY1305,之前被谷歌广泛应用的对称加密协议,相对于常用的AES,其在ARM平台的性能更佳。然而nginx默认使用的openssl并不支持这种加密方式,因此这里使用libressl作为替代。新版的libressl已经与新版nginx兼容良好,可以直接编译,整个过程非常顺畅,不会出现之前各种编译过程出错的问题。因为如此,本人也能够写出如下一个一键脚本:…