由于最新版Chrome中取消了对SPDY的支持,改用更为优秀的Http/2
这样搞一方面促进了大家升级到Http/2,但是用户在访问只支持SPDY的网站时会变慢...
不管怎么样我们总不能还在使用SPDY吧....
也许你早已把nginx 升级到1.11.0了,似乎就这么简单,但是我发现,Http/2使用了ALPN技术...(这什么鬼我怎么都没听说过...)
原来SPDY使用的是NPN协议,Http/2使用的是ALPN协议,鬼知道他们什么区别...反正更好就对了
那么怎么升级到ALPN?
大部分Web Server 都依赖OpenSSL 库提供HTTPS 服务,对于它们来说,是否支持NPN 或ALPN 完全取决于使用的OpenSSL 版本,目前只有OpenSSL-1.02g以上版本支持ALPN
下面是各系统的OpenSSL版本
然而只有最新的Ubuntu支持...
那我们整个系统的升级OpenSSL肯定是不好的,万一不兼容就翻车了,所以我们重新编译nginx,单独为nginx升级
先看看当前nginx的信息nginx -V
下载最新版nginx源码:
wget http://nginx.org/download/nginx-1.11.1.tar.gz tar zxf nginx-1.11.1.tar.gz cd nginx-1.11.1
下载OpenSSL-1.0.2g
wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz tar zxf openssl-1.0.2g.tar.gz
把刚才nginx -V
看到的参数复制下来,后面加上--with-openssl=openssl-1.0.2g
就像
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt='-ljemalloc' --with-openssl=openssl-1.0.2g
make
make install
然后nginx -V
大功告成!
iForday原创文章,转载请注明来自:升级OpenSSL,让网站完美支持Http/2
近期评论