怎样在中启用 HTTP/2 Apache 在 Linux 系统上

在 Ubuntu 和 Debian Linux 上,您可以安装 Apache 服务器并托管您自己的网站。 而且,如果您曾经尝试使用 Apache Red Hat 上的网络服务器或 Fedora Linux,您可能知道 HTTP 守护进程 (httpd) 在您的 Linux 系统的后台运行,以传输超媒体并响应服务器的请求。 在您的系统上安装 HTTP 守护进程后,您可以在您的 Linux 系统上启用 HTTP/2.0。

当您允许 HTTP/2.0 服务 在一个 Apache 服务器,它提高了您的服务器和客户端的响应速度。 配置和启用 HTTP/2.0 服务 Apache 服务器简单明了。

启用 HTTP/2 Apache 在 Linux 上

启用 HTTP/2.0 需要 HTTPS 协议和 TLS 协议; 确保您的服务器使用 SSL 认证方法进行保护。 要获得 SSL 认证,您可以按照我们之前关于 Let’s Encrypt Linux 系统上的 (Certbot) 方法。

并且,还要确保您的服务器端和浏览器端都具有启用 HTTP/2.0 服务的能力。 通过现代浏览器具有使用 HTTP/2.0 服务的内置功能。 在这篇文章中,我们将看到怎样在 Apache 服务器。

步骤 1:检查启用 HTTP/2.0 的能力

在 Linux 中,要启用 HTTP/2.0 服务 Apache 服务器,你需要有 Apache 服务器 2.4.17 或更高版本。 要检查哪个版本的 Apache 在您当前使用的服务器上,在终端 shell 上运行以下命令。

查看 Apache Debian/Ubuntu Linux 上的版本

apache -v

查看 Apache Red Hat 上的版本/Fedora Linux

httpd -v

如果您是 Debian Linux 用户,您还可以运行以下 a2enmod 命令以确保您的服务器与 SSL 模块集成。

sudo a2enmod ssl

您还可以在 shell 上运行以下命令来检查您的系统是否安装了 HTTP2 模块。

sudo a2enmod http2

第 2 步:配置 Apache 启用 HTTP/2.0 的服务器

在确定您的 Apache 服务器有能力使用 HTTP/2.0 协议,是时候启用 HTTP/2.0 协议了。 在 Debian 和基于 Red Hat 的 Linux 系统上启用 HTTP/2.0 的过程非常相似。 在这里,我们将看到怎样配置您的 Apache 服务器的脚本以在 Linux 系统上启用 HTTP/2.0。

1. 启用 HTTP/2.0 Apache 在 Ubuntu/Debian 上

在 Ubuntu 或其他 Debian Linux 发行版中, Apache 服务器存储在 /etc/apache2/ 目录中。 您可以找到本地配置脚本并从脚本中编辑 HTTP 协议。 在具有 root 访问权限的终端 shell 上运行以下命令以编辑脚本。 不要忘记将 demo.www.ubuntupit.com 替换为您的服务器地址。

sudo nano /etc/apache2/sites-enabled/demo.www.ubuntupit.com-le-ssl.conf

现在,在脚本底部添加以下 HTTP/2.0 协议。

Protocols h2 http/1.1

<VirtualHost *:443> 
ServerName demo.www.ubuntupit.com 
ServerAlias wdemo.www.ubuntupit.com 
DocumentRoot /var/www/public_html/demo.www.ubuntupit.com 
SSLEngine on 
SSLCertificateKeyFile /path/to/private.pem 
SSLCertificateFile /path/to/cert.pem 
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 
Protocols h2 http/1.1 
</VirtualHost>

然后保存并编辑文件。 您现在可以重新启动您的 Apache 服务器查看影响。

sudo systemctl restart apache2

2. 启用 HTTP/2.0 Apache 在红帽/Fedora

作为红帽和 Fedora Linux 使用 HTTP 守护进程 (httpd) 服务来运行 Apache 服务器,您将编辑 httpd 配置脚本以在基于 Red Hat 的系统上启用 HTTP/2.0 协议。 在启用 HTTP 协议之前,如果您获得 HTTP2 模块并将其与您的服务器集成会有所帮助。

您可以在终端 shell 上运行以下 DNF 命令行以在系统上安装 HTTP2 模块。

sudo dnf -y install mod_http2

然后在您的 Linux 系统上重新启动 HTTP 守护进程。

sudo systemctl restart httpd

您现在可以使用 root 权限在终端 shell 上运行以下命令来编辑 Apache 配置脚本。 在这里,我使用的是 Nano 脚本编辑器,您可以使用自己喜欢的编辑器来编辑 Apache 配置脚本。

sudo nano /etc/httpd/conf.d/domain-name.com.conf

编辑器打开后,您现在可以将以下 HTTP 协议行放入脚本中。

Protocols h2 http/1.1

在这里,您可以按照演示脚本了解应该将协议地址放在哪里。 您可以将 HTTP/2.0 协议地址放在脚本底部的 virtualhost 结束标记。

<virtualhost :443>
Protocols h2 http/1.1
...</virtualhost>

第 3 步:检查并关闭

在成功启用 HTTP/2.0 协议后 Apache 服务器,现在是检查服务器状态的时候了。 您可以从 Web 浏览器检查 HTTP 协议或以 root 权限运行以下 cURL 命令。 cURL 命令将返回连接类型和 HTTP 协议类型的状态。

sudo curl -v --http2 https://localhost

在 Linux 上检查 http2

要从 Web 浏览器检查 HTTP 协议版本,您需要打开您的站点并右键单击您的网页,然后打开“检查元素”选项卡。 打开元素检查后,现在可以找到网络监控工具来查看HTTP协议的版本。

在 Linux 上监控 HTTP 2 协议

最后的话

启用 HTTP/2.0 协议 Apache 服务器不是一项艰巨的任务。 在整篇文章中,我描述了安装 HTTP2 模块和启用 HTTP/2.0 协议的方法。 Apache Linux 上的服务器。

如果您发现这篇文章有用且内容丰富,请与您的朋友和 Linux 社区分享。 我们还鼓励您在评测部分写下您对这篇文章的看法。