NGINX开源1.9.5发布,支持HTTP/2


今年早些时候,我们发布了一份early-alpha patch在我们的开源Nginx产品中启用HTTP/2支持,并在上周实现了完全受支持的HTTP/2 in NGINX Plus。今天,我们自豪地宣布,HTTP/2已经致力于开放源码repo,现在可以作为NGINX version 1.9.5

如果您想了解更多关于HTTP/2的信息,我们提供了以下资源:

请注意,此版本删除了对SPDY的支持。在Nginx 1.9.x分支中,我们已经从代码库中完全删除了SPDY模块,并将其替换为HTTP/2 module。在迁移到1.9.5之后,您不能再将Nginx配置为使用SPDY。如果您想继续使用SPDY,Nginx 1.8.x分支将继续支持它。

使用Nginx 1.9.5迁移到HTTP/2

本节将介绍启用HTTP/2所需的更改,包括对Nginx配置的一些更改。

先决条件

在升级之前,请删除spdy参数来自所有listen您的配置中的指令。这将确保升级顺利进行。从那里安装或升级Nginx,使用我们的pre-built binaries。说明可用here

将所有通信请求重定向到SSL/TLS

如果您的应用程序尚未使用SSL/TLS加密,那么现在将是采取这一行动的好时机。加密您的应用程序可以保护您免受间谍和中间人攻击。一些搜索引擎甚至奖励加密的网站improved rankings在搜索结果中。以下配置挡路将所有纯HTTP请求重定向到站点的加密版本。

server {
    listen 80;
    location / {
        return 301 https://$host$request_uri;
    }
}

启用HTTP/2

要启用HTTP/2支持,只需添加http2参数设置为全部listen指令。还包括ssl参数,因为浏览器不支持没有加密的HTTP/2。

server {
    listen 443 ssl http2 default_server;

    ssl_certificate    server.crt;
    ssl_certificate_key server.key;
    ...
}

如有必要,请重新启动Nginx,例如通过运行nginx -s reload指挥部。要验证HTTP/2转换是否正常工作,可以使用“HTTP/2 and SPDY Indicator”插件Google Chrome and Firefox

注意事项

特别感谢

Nginx,Inc.我要感谢DropboxAutomattic,他们是我们软件的大量用户,并慷慨地共同发起了我们HTTP/2实现的开发。他们的贡献帮助我们加快了将此软件带给您的能力,我们希望您能够反过来支持他们。

[本文由费萨尔·梅蒙撰写]