前段时间nginx发布了一个HTTP/2补丁,可以在最新版的nginx上体验HTTP/2,本站只是一个个人博客,自然要体验一把。
注意事项
- 因为是alpha测试版本,所以极度不建议在生产环境中使用
- 暂时不支持sever push,而且在未来的测试版本都都不会支持
- 如果安装了这个补丁,HTTP/2将会替换SPDY模块,无法再配置SPDY
安装方法
安装OpenSSL 1.0.2或以上版本。
下载并解压NGINX 1.9.0或以上版本
# wget http://nginx.org/download/nginx-1.9.4.tar.gz
# tar zxvf nginx-1.9.4.tar.gz
# cd nginx-1.9.4
下载补丁
# wget http://nginx.org/patches/http2/patch.http2.txt
确认补丁
# patch -p1 --dry-run < patch.http2.txt
如果没报错,则执行
# patch -p1 < patch.http2.txt
然后编译NGINX,下面的参数为必须
# ./configure --with-http_ssl_module \
--with-http_v2_module \
--with-debug \
--with-openssl=/path/to/openssl-1.0.2 \
...
然后make
# make
配置
只需要在监听端口中加入ssl和http2即可开启HTTP/2支持
server {
listen 443 ssl http2 default_server;
ssl_certificate server.crt;
ssl_certificate_key server.key;
...
}
注:ssl为必须,如果没有ssl则无法开启HTTP/2。
通过 Chrome 的 HTTP/2 调试工具,可以看到协议这里已经是最新的 h2 了