如何在centos7上启用http2

Ada*_*dam 11 linux apache http2 centos7

我有CENTOS7服务器,有:

服务器版本:Apache/2.4.6(CentOS)

.如何在这些Apache上启用/添加HTTP/2?我正在尝试通过Nghttp从客户端发送http2请求,但由于不支持Http2的服务器,我在响应(recv RST_STREAM帧)中收到错误.

我看到我必须在apache中启用module_http2,但我没有发现我可以做到这一点.

提前致谢.

Bar*_*ard 9

HTTP/2支持仅在Apache 2.4.18中添加,这在标准的CentOS/Red Hat存储库中不可用.虽然作为mod_http2(并且仍处于编写时)正在积极开展工作,但您应该使用最新版本(编写本文时为2.4.33 - 尽管还有更多的mod_http2补丁).

此外,HTTP/2需要OpenSSL 1.0.2或更高版本,这意味着您需要CentOS/RHEL 7.4或更高版本,除非您想要安装自己的OpenSSL版本以及您自己的Apache版本.请注意,如果您想要更进一步,请转到OpenSSL 1.1.0,需要Apache 2.4.26或更高版本.

因此,您需要从源代码下载并编译更高版本的Apache(可能还有OpenSSL),或者找到这些更高版本的另一个repo.这确实存在一些风险 - 主要是因为您丢失了repo版本提供的简单安全补丁.CentOS Apache 2.4.6实际上包含了更新版本的所有最新安全补丁(假设您经常运行"yum update"来更新它) - 但不是像HTTP/2那样的功能变化(因此他们为什么将版本号保留为2.4.6) .

如果您对从源代码安装感兴趣,那么我将在此处逐步介绍如何执行此操作:https://www.tunetheweb.com/performance/http2/