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服务器请求额外的开销。
本文将帮助您启用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