如何在NGINX启用HTTP/2.0

启用NGINX HTTP2.0。本教程将帮助您启用HTTP/2.0 NGINX Web服务器上,它还有助于你的Nginx升级到最新版本。

HTTP/2(HTTP/2.0)是通过HTTP/1协议的重大升级。 HTTP/2协议是基于SPDY(generally known as speedy)。一些HTTP/2的关键改进是:
  • 服务器推送:服务器将积极主动发送的组件的客户,所以客户并不需要等待将请求发送到服务器。
  • Multiplexing:减少通过捆绑客户端从多个HTTP请求活动 连接数,发送到服务器。
  • 加密 :有效地使用加密与HTTP/2通过HTTP/1.1 TLS协议。
  • HTTP报头压缩:压缩头将降低到Web服务器请求额外的开销。
启用NGINX HTTP2.0 本文将帮助您启用HTTP/2.0在CentOS /Red Hat/ Debian和Ubuntu系统NGINX Web服务器。

安装NGINX

HTTP/2协议支持通过nginx的版本> = 1.9.5。因此,请确保您的nginx的版本支持HTTP/2协议。如果您尚未安装的Nginx或更早的版本使用下面的方法来安装或根据您的操作系统之一升级。

为CentOS / RedHat的用户

首先创建一个yum软件库配置文件/etc/yum.repos.d/nginx.repo并添加该文件中的内容如下。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
并使用以下命令来安装它。
# yum install nginx

对于Ubuntu用户

使用下面的命令来添加PPA为你的Ubuntu系统上安装最新的Nginx版本。这PPA具有支持HTTP/2协议nginx的版本。
$ echo "deb http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list
$ echo "deb-src http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx"  >> /etc/apt/sources.list
并使用以下命令来安装它。
$ curl http://nginx.org/keys/nginx_signing.key | apt-key add -
$ sudo apt-get update
$ sudo apt-get install nginx

对于Debian用户

使用下面的命令来添加PPA为Debian系统上安装最新的Nginx版本。这PPA具有支持HTTP/2协议nginx的版本。
$ echo "deb http://nginx.org/packages/mainline/debian/ `lsb_release -cs` nginx" >> /etc/apt/sources.list
$ echo "deb-src http://nginx.org/packages/mainline/debian/ `lsb_release -cs` nginx"  >> /etc/apt/sources.list
并使用以下命令来安装它。
$ curl http://nginx.org/keys/nginx_signing.key | apt-key add -
$ sudo apt-get update
$ sudo apt-get install nginx

验证NGINX版本

成功安装在系统上的Nginx版本后,请确保您有Nginx > = 1.9.5。早期版本不支持HTTP/2协议。
# nginx -v

nginx version: nginx/1.9.7

在NGINX启用HTTP/2

HTTP/2协议要求SSL/TLS的虚拟主机。您不能使用HTTP/2协议,而不启用SSL/TLS的网站。现在编辑您的网站虚拟主机,并在监听部分添加 http2 关键字 。
server {
  listen        443 ssl http2;
  server_name   exmple.com;

  location / {
      root   /var/www/example.com;
      index  index.html index.htm;
  }

  ssl on;
  ssl_certificate  /etc/nginx/ssl/example.com.crt;
  ssl_certificate_key   /etc/nginx/ssl/example.com.key;

}

验证HTTP/2.0

使用下面的测试您的网站支持HTTP/2,使用在线工具。 https://tools.keycdn.com/http2-test 如何在Apache中启用HTTP/2.0