如何在 Apache 和 Nginx 中启用 HTTP/2?

网站技术教程 - 程序员技术栈 - 网站安全技术 AnWenGlobal 10个月前 (09-18) 118次浏览 0个评论 扫描二维码

如何在 Apache 和 Nginx 中启用 HTTP/2

HTTP/2 是 2015 年发布的 HTTP 协议的第二个主要版本。

http协议的历史
大约46.5 %的网站支持 HTTP/2。

HTTP2统计
它具有许多功能,例如:

HTTP 标头压缩
推力技术
通过单个 TCP 连接并行加载页面元素
二进制协议
减少延迟
AKAMAI 的演示表明,HTTP/2 的速度大约是 HTTP/1.1 的两倍。

您是否知道LiteSpeed是最早支持 HTTP/2 的 Web 服务器之一

如果您使用的是 Cloudflare、Incapsula、MaxCDN 等 CDN,您可能不需要在 Web 服务器中启用 HTTP/2,因为您可以从 CDN 网络的边缘执行此操作。

但是,如果您需要在 Apache、Nginx、IIS 等 Web 服务器中实现 HTTP/2,请继续阅读以了解如何实现。

注意:所有主要浏览器(Chrome、Edge、Firefox、Safari、Opera)都必须使用 TLS 1.2 或更高版本来实现 HTTP2。

但如果您正在尝试,请不要担心。您可以免费获得 TLS 证书。

Apache HTTP 中实现 HTTP/2

HTTP/2 可以使用mod_http2模块部署在 Apache HTTP 2.4.17或更高版本中。因此,如果您有2.2或更低版本,则必须先升级到兼容版本。

让我们使用mod_http2选项mod_ssl模块来编译 Apache HTTP。

下载最新版本(Linux 上我选择 2.4.25)
解压下载的文件,如果您下载的是 .gz 文件,则
gunzip -c httpd-2.4.25.tar.gz | 焦油 xvf –
您将看到创建的新文件夹。进入这个文件夹
使用configure命令从源代码构建Apache
注意如果您尝试在全新的服务器上执行此操作,则可能会遇到安装依赖项错误,并且无法安装依赖项。本指南应该在这方面为您提供帮助。

./configure –enable-ssl –enable-so –enable-http2
确保上面的命令没有错误。完成后,运行以下 make 命令
进行
安装
由此得出结论,Apache HTTP 已随 HTTP/2 模块一起安装,是时候进行必要的配置了。

备份 httpd.conf 文件(默认位置 /etc/httpd/conf/httpd.conf)
使用 vi 打开 httpd.conf 文件并确保以下文本存在;如果没有,请添加。
LoadModule http2_module 模块/mod_http2.so
然后需要添加Protocols项如下
协议 h2 h2c http/1.1
如果为单个虚拟主机启用 HTTP/2,则必须在相应虚拟主机下添加协议。

注意:上面的Protocols指令模板中有三个参数

h2 – 要求 Apache 通过 SSL/TLS 支持 HTTP/2
h2c – 要求 Apache 支持基于 TCP 的 HTTP/2
http/1.1 – 如果客户端不支持 HTTP/2,则请求由 HTTP/1.1 处理
重新启动 Apache HTTP 服务器以重新加载配置。

现在 Apache HTTP 实例已启用支持 HTTP/2 协议。

Nginx 中实现 HTTP/2

Nginx 1.9.5或更高版本支持 HTTP/2,因此您应该首先确保安装了兼容版本。

要在 Nginx 中启用 HTTP/2,只需将http2选项添加到“listen”指令中即可。

像往常一样,备份 nginx.conf 文件(默认位置 /etc/nginx/nginx.conf)
使用vi编辑并在listen指令下添加http2
服务器 {
听 443 http2 ssl chandan.io ;
….
}
正如我上面提到的,HTTP/2 仅通过 HTTPS支持,因此您需要将其添加到具有 SSL 配置的服务器块下。

如果您的 SSL 配置位于 nginx.conf 以外的文件中,则需要在那里更新它。

完成后,重新启动 Nginx 以使配置生效。

检查网站是否支持HTTP/2
有多种方法可以检查网站是否支持 HTTP/2。

手动- 打开 IE/Chrome/Firefox 并按 F12 >> 转到“网络”选项卡,您应该看到协议是 HTTP/2。

chrome-http2-验证
在线- 您可以使用HTTP/2 测试工具。

这就是今天的全部内容。希望以上内容能够帮助您在 Apache 和 Nginx Web 服务器中启用 HTTP/2 协议,以实现以下快速加载网页的应用。

喜欢 (0)
[请扫码关注微信公众号]
分享 (0)

您必须 登录 才能发表评论!