Coding, Web, Hydrology and more.

NGINX正确配置HTTP2而浏览器不认?OPENSSL版本的锅!

N

前言

博客很早之前就已经配置过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的源。

如果你是军哥LNMP的用户,可以在include/upgrade_nginx.sh中找到

在最后加入

之后调用升级bash重新编译NGINX,重启即可。

如果不是LNMP用户,同样的在编译NGINX时在./configure 你的一系列设置最后加入

再编译NGINX后,重启即可。

重新刷新网站,可以看到已经成功走上HTTP2了。

Bonjour!

About the author

EDLinus

[stay(d) for d in ('determined','diligent','devoted')]

 
By EDLinus
Coding, Web, Hydrology and more.

Meta