0x01 前言

http2 是什么?首先http 是一个协议,平常我们通过浏览器输入一个地址进行浏览,一般用的是http1.1 而http2 就是http 协议的2.0 版本。http1.1 是1997 开始正式使用的,其实http2 早在2012年11月就已经发布了,在经过漫长的开发、审核,终于在2015年2月正式获得IETF 批准正式使用。

http2 有什么好处?然而我也在看文档,文档很长很长…但总的来说就以下几个亮点:

  • 多路复用
  • HEAD 压缩
  • 服务器推送
  • 优先级请求

既然是新技术,我为什么不支持呢?其实我从nginx 1.9.5 开始就已经关注http2 了。直到今天我才对我的服务器进行更新升级。

0x02 nginx

你可以在chrome 浏览器上输入以下地址,查看你的网站是否正在使用http2 :

以下是我网站开启http2 支持后的截图:

1466866085

0x02.1 编译安装

其实我在这篇文章里(nginx 1.9.10 编译安装 with ngx_lua_waf & pagespeed)的编译参数已经带有http2 的相关模块,可能是因为openssl 的原因导致不能启用http2 。那我只好下载最新的openssl 在此进行编译安装。

你可以通过这个地址下载最新的openssl :https://www.openssl.org/source/

要注意的是http2 Over TLS 需要NPN 或 ALPN 来完成协商,而OpenSSL 在1.0.2 才开始支持ALPN 。所以,请下载1.0.2 版本的openssl 。

因为我服务器上有些服务依旧依赖于旧版本的openssl ,所以我并不打算将它升级。因此我在configure nginx 时添加with-openssl 参数。

如果你之前按照这篇文章(nginx 1.9.10 编译安装 with ngx_lua_waf & pagespeed)的方法进行进行编译安装,请使用以下命令再次进行编译安装:

如果你并不需要lua-nginx-module ,请使用以下configure 参数:

停止并重新启动nginx :

完成后测试下自己的服务吧。

0x03 curl for mac

我MacBook 的curl 版本信息:

通过brew 安装:

创建链接:

测试:

0x04 结语

可能是我网络太好了,也有可能是我并没有使用http2 的其它功能或者还没配置好,升级完成后并没发现加载速度与之前有什么区别。过两天我找个时间来次压力测试。

2 条评论 / comments

  1. disse:I Am Going To have to come back again whenever my course load lets up – noteehnless I am getting your Rss feed so i can read your site offline. Thanks.

Comments are closed.