繁体   English   中英

如何在centos7上启用http2

[英]how to enable http2 on centos7

我有CENTOS7服务器,有:

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

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

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

提前致谢。

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/

您可以通过httpd24软件集安装较新版本的httpd,而不是基本存储库中包含的版本。 启用S​​CL后,您需要以下软件包:

  • httpd24
  • httpd24-nghttp2
  • httpd24-mod_ssl *

*最好也配置SSL,因为例如Chrome只会使用TLS执行HTTP2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM