今年早些时候,Nginx 曾发布过一个 early-alpha patch 来提供对 HTTP/2 的支持,但从最新发布的 Nginx 1.9.5 开始,http_v2_module 已经交换了 ngx_http_spdy_module 并正式开始提供全面的 HTTP/2 支持。
如果你想了解更多关于 HTTP/2 的信息,Nginx 官方提供了如下链接供大家参考:
-
阅读官方白皮书,里面有关于 HTTP/2 的所有信息
-
下载 High Performance Browser Networking 电子书 Nginx 官方特别版
注意:此版本移除了对 SPDY 的支持,从 Nginx 1.9.x 分支开始已经完全移除了 SPDY 模块的代码库并用 HTTP/2 模块进行取代。因此在升级到 Nginx 1.9.5 后将不能再使用 SPDY。如果你想继续使用 SPDY,请继续留在 Nginx 1.8.x 分支。
迁移到支持HTTP/2的Nginx 1.9.5
本小节将向大家介绍启用 HTTP/2 时的几个 Nginx 配置变化。
前提条件
在升级之前,请先删除 Nginx 配置文件中的所有 SPDY 参数,这将有助于顺利升级。如果使用编译安装进行升级可以参考这里。
重定向所有通信到SSL/TLS
如果你的网站尚未采用 SSL/TLS 进行加密,现在可以考虑将其加密。对 Web 流量进行加密可以保护网站通讯免受中间人攻击,还有助于 Google 排名的提升。下面的配置会将所有普通 HTTP 请求重定向到加密网站。
server {
listen 80;
location / {
return 301 https://$host$request_uri;
}
}
启用HTTP/2
要启用 HTTP/2 支持只需将 http2 添加到所有 listen 指令当中:
server {
listen 443 ssl http2 default_server;
ssl_certificate server.crt;
ssl_certificate_key server.key;
…
}
更改完配置后需要重启 Nginx 使之生效,要验证 HTTP/2 是否正常工作可以使用 Google 或 Firefox 的 HTTP/2 and SPDY indicator 插件。
未经允许不得转载:陈丹的博客 » Nginx 1.9.5发布 开始提供HTTP/2支持