什么可以阻止我使用apache激活http2?

什么可以阻止我使用apache激活http2?,apache,ssl,https,http2,Apache,Ssl,Https,Http2,我已经阅读了大量关于http2的文档,启用它似乎是安全的。但我需要100%确定我不会有任何回归,或者至少要知道什么样的回归会发生 什么会阻止我在生产apache服务器上启用http2? 我必须仔细检查什么配置? 什么样的新行为可能会给我带来麻烦?这是一个非常基于观点的问题,并不是一个很好的堆栈溢出格式,它旨在提供基于事实的答案。这也完全取决于你所处的环境,而你所提供的细节很少 不过,我对此很感兴趣,不介意花点时间尽可能地回答 以下是您应该考虑的事项: 首先,您需要将Apache升级到支持HTT

我已经阅读了大量关于http2的文档,启用它似乎是安全的。但我需要100%确定我不会有任何回归,或者至少要知道什么样的回归会发生

什么会阻止我在生产apache服务器上启用http2? 我必须仔细检查什么配置?
什么样的新行为可能会给我带来麻烦?

这是一个非常基于观点的问题,并不是一个很好的堆栈溢出格式,它旨在提供基于事实的答案。这也完全取决于你所处的环境,而你所提供的细节很少

不过,我对此很感兴趣,不介意花点时间尽可能地回答

以下是您应该考虑的事项:

  • 首先,您需要将Apache升级到支持HTTP/2的版本。理想情况下,您应该升级到最新版本(编写本文时为2.4.29),因为自从HTTP/2在2.4.17中首次启动并在2.4.26中不再被标记为“实验性”以来,HTTP/2代码已经发生了许多更改。这有多容易取决于您的环境,但打包版本(例如通过RHEL和Centos上的
    yum
    )通常不是最新版本,并且不在打包环境的安全范围内,从源代码构建或第三方回购也不是一个可以轻易采取的步骤。有关是否应使用mod_http2的更多信息,请参见(在我看来是的)

  • >P>你需要考虑你来自Apache的版本,以及你需要在升级过程中做些什么改变(如果有的话)。许多人仍在使用2.2和。如果已经在2.4的早期版本上,那么这应该不是一个问题,但是仍然有一些更改可能会影响您。2.2是生命的终结,所以这是你迟早要做的事情

  • HTTP/2需要HTTPS在所有浏览器上工作,因此如果您的站点还没有使用HTTPS,那么这可能是一种升级。然而,网络正在转向HTTPS,所以,如果还没有,那么这是你迟早要做的事情

  • HTTP/2需要OpenSSL 1.0.2或更高版本才能支持ALPN来协商HTTP/2。同样,许多Linux发行版不包含此版本,甚至那些包含此版本的发行版(例如RHEL/Centos 7.4)也不针对此版本构建Apache。所以,您可能需要再次从源头或替代回购(见上述要点)查看建筑

  • HTTP/2需要良好的HTTPS配置(例如GCM密码),这将由于OpenSSL 1.0.2而可用,但可能需要查看SSL/TLS配置来配置这些配置。这是您查看此内容的最佳选择

  • 你使用WebSocket吗?因此,如果使用HTTP/1.1,您需要继续使用它们。目前有计划将WebSocket添加到HTTP/2,但仍处于讨论阶段

  • 您应该知道,HTTP/2强制使用小写的HTTP头名称。传统上,HTTP头名称始终不区分大小写,但并非每个实现都正确实现了这一点,有些实现依赖于大小写敏感度

  • HTTP/2响应仍然发送响应代码(200404),但忽略状态文本(“确定”、“未找到”)。同样,这不会影响大多数正确编码的应用程序,但如果您依赖于此响应消息,则可能需要做一些工作来修复此问题

  • HTTP/2设计为使用单个连接。如果您当前共享不同域的资产,那么它可能会尝试共享,这应该可以无缝工作,但如果HTTP/2不能在所有共享域上使用,则可能会导致一些问题

最后3分来自优秀的团队

以上是如何升级以允许您启用HTTP / 2的所有要点。老实说,目前在大多数标准Linux发行版上都有点痛苦,但随着新版本变得越来越普遍,希望会变得更容易

但是,一旦您准备好了,并且可以升级到HTTP/2,您就需要决定是否要升级

总的来说,HTTP/2的设计是向后兼容的,因此应该是无缝升级。那些可以使用HTTP/2的客户端,那些不能使用HTTP/1.1的客户端将继续使用HTTP/1.1(您应该在可预见的将来保持配置)

然而,HTTP/2在技术领域仍然相对较新,在客户端或服务器端可能存在实现问题。说它已经推出2年了,我的经验是非常积极的,没有看到很多问题,但是,与任何升级一样,您应该在升级之前测试、测试、测试,然后再监控。我看到的大多数问题都是晦涩难懂的问题,其中HTTP/2的性能不如它应该的那么好,而不是显示停止问题。例如,大多数没有像我这样浓厚兴趣的人都很难注意到这些问题。因此,它是一项经过验证的技术,并且在很大程度上基于SPDY,在过去的几年中,许多站点、服务器和客户端都在使用SPDY,没有出现重大问题

您还应该考虑HTTP/2的好处。在我看来,大多数网站应该看到一个良好的速度提高(可能20%),但这不是保证,将取决于个人网站和连接访问者和使用。某些带宽受限的站点甚至可能会出现速度减慢。但是,您需要设定现实的期望,并了解性能瓶颈在哪里,这将有助于了解HTTP/2是否(以及在多大程度上)有帮助。对于表现不佳的网站来说,这不是一个神奇的修复方法

升级后要考虑的其他事项:

  • 您是否对HTTP/2进行了优化?如果是,何时优化?这会影响那些仍在HTTP/1.1上的访问者吗?有关这方面的更多详细信息,请参阅
  • 您是否在任何后端服务器上使用HTTP/2,或在web服务器上终止HTTP/2(与许多HTTPS一样)