前言
博客很早之前就已经配置过HTTP2了,但是心血来潮用HTTP/2 and SPDY indicator一测试,才发现NGINX配置HTTP2并没有成功。
故在网上找了找,发现最近Chrome抛弃了NPN的支持,如果想要在Chrome上以HTTP2访问站点,那就需要OPENSSL 1.0.2以上的版本。
看了下VPS上OPENSSL的版本,竟然还停留在1.0.1,估计那时候yum的EPEL没配置好吧,考虑到安全性(还记得那一波HeartBleed),升级看来是势在必行了。
准备步骤
现在OPENSSL官网上找到最新的源:https://www.openssl.org/source/
这篇文章发布前官网上最新版本是1.1.0,考虑到稳定性我还是选择了1.0.2的源。
1 2 | wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz tar xvf openssl-1.0.2l.tar.gz |
如果你是军哥LNMP的用户,可以在include/upgrade_nginx.sh中找到
1 | ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub ..... |
在最后加入
1 | --with-openssl=$HOME/openssl-1.0.2l |
之后调用升级bash重新编译NGINX,重启即可。
如果不是LNMP用户,同样的在编译NGINX时在./configure 你的一系列设置最后加入
1 | --with-openssl=$HOME/openssl-1.0.2l |
再编译NGINX后,重启即可。
重新刷新网站,可以看到已经成功走上HTTP2了。
Bonjour!