如何在Linux的Nginx上启用HTTP / 2

HTTP / 2是新一代协议,它替代了Internet上日常工作中使用的HTTP / 1.1协议。 基于 神话般的SPDY这个新的HTTP协议致力于在网络连接和最终用户之间提供最佳性能。 特别是,它旨在改善最终用户的延迟和网络拥塞。 其主要目的是允许在客户端浏览器和网站之间使用单个连接。

HTTP / 2的主要功能

真正的多路复用: HTTP / 2允许并行和无序地执行请求,而不是一次执行一个请求,就像HTTP / 1.1协议一样。

一种持久连接: 使用真正的多路复用功能,仅使用一个连接就可以并行下载站点上托管的所有对象。 在HTTP / 1.1中,如果要加载并行对象,则必须打开多个连接(就网络使用而言效率不高)。

二进制编码: 标头以二进制编码发送。 这样可以节省字节,直到信息到达客户的浏览器。 在HTTP / 1.1中,它是使用纯文本发送的,这在带宽使用方面更加昂贵。

压缩头文件: 标头也用 压缩HPACK这有助于减少网络上的数据总量。

SSL / TLS加密: 使用HTTP / 2 SSL / TSL时,需要加密。 这是由Web浏览器(而不是RFC)控制和定义的,该浏览器当前支持新的HTTP / 2协议。 通过采用SSL / TSL加密,HTTP / 2不仅可以提高速度,还可以保护您的安全性。

在Nginx上启用HTTP / 2之前的注意事项

1.Http / 2英寸 目前可用 适用于Nginx用户和Nginx Plus用户(Nginx的商业版本)。

2.如果您的站点上没有SSL加密,则必须重定向所有SSL / TLS流量,因为HTTP / 2使用SSL / TLS加密。 确保您的站点已完全配置为可以使用SSL证书。

3. SPDY和HTTP / 2无法一起工作。 从所有指令中删除“ SPDY”变体 在Nginx配置中,并将其替换为“ http2”和“ SSL”参数。

如何在Nginx上启用HTTP / 2?

要在Nginx上启用HTTP / 2支持,只需为指令添加“ http2”选项 以前有。 不要忘记启用SSL选项,例如:

listen 443 ssl http2 default_server;

服务器{}块内部的完整输出:

server {listen 443 ssl http2 default_server
ssl_certificate /etc/nginx/conf/ssl.crt/yoursite.com.crt; ssl_certificate_key /etc/nginx/conf/ssl.key/yoursite.com.key; ... ... }

更新Nginx以使更改生效:

nginx -s

您如何检查HTTP / 2是否在您的站点上正常工作?

您需要向浏览器添加插件 HTTP / 2和SPDY指示器… 可从Google Chrome和Firefox商店购买。

不支持HTTP / 2的浏览器呢?

Nginx Inc.的人已经考虑到这一点,并且由于当前50%的浏览器仍然不支持HTTP / 2,Nginx工程师创建了他们所谓的“下一个协议协商协商(NPN)”。 如果浏览器不完全支持HTTP / 2,则此TLS扩展允许Nginx服务HTTP / 1.x请求。

输出量

如您所见,网络变化非常快。 为了继续增长,您必须采用新的协议和技术,使用户能够减少页面响应时间和网络使用率。 HTTP / 2是下一代HTTP协议。 如果要成为此新更改的一部分,请尝试在Nginx安装上启用它。 结果会让您感到惊讶。

Sidebar