nginx从1.9.5版本开始支持http2,http2.0相对于1.x来说性能要提高很多,但在升级到http2的时候,会遇到不生效的问题,明明已经修改nginx配置了,并且nginx版本也符合条件,但访问测试之后,却还是http1.1协议,下面就来介绍下如何解决
工具/原料
1
nginx1.9.5及以上
2
openssl1.0.2
方法/步骤
1
打开nginx的conf目录下,vi nginx.conf,在listen 443后面添加http2,如果提示错误,需要带--with-http_v2_module重新编译和安装nginx
2
配置很简单,添加了http2关键字之后,重启nginx,但使用浏览器访问的时候却发现还是使用的http1.1协议
3
访问nginx官网查看帮助,如图所示,官网帮助说明要求openssl必须是1.0.2版本
4
回到nginx查看当前nginx使用的openssl是哪个版本,输入命令nginx -V查看nginx版本信息,显示的是openssl1.0.1,问题就出在这里
5
复制nginx -V显示的最下面的配置参数列表,然后添加--with-openssl=xxx(下载openssl1.0.2版本的源文件解压之后的目录)
6
然后make && make install进行重新编译和安装nginx
7
重新编译安装之后,再次使用nginx -V命令查看当前nginx使用的openssl版本,这次是1.0.2版本了
8
然后输入命令nginx -s stop停止nginx,再重新启动nginx,最后刷新浏览器测试页面,F12控制台就可以到此时已经成功升级到http2.0了
注意事项
nginx修改使用openssl1.0.2之后,重启不能使用nginx -s reload(不生效),需要使用nginx -s stop,然后再启动
上一篇:如何在学校里保持冷静
下一篇:合金装备5雷电套装怎么获得?