带有 SPDY 3.1 的 Apache HTTPD

带有 SPDY 3.1 的 Apache HTTPD

SPDY 3.1 已经发布了一段时间。Google 已将 mod_spdy 项目捐赠给 apache (https://code.google.com/p/mod-spdy/)。可以将 SPDY 3.1 与 Apache Httpd 一起使用吗?

答案1

问题是 Chrome 40.x 放弃了对 SPDY/3 的支持,仅支持 SPDY/3.1,但 Apache 的 mod_spdy 模块仅支持 SPDY/3,因此如果您使用 Apache 作为 Web 服务器,Chrome 用户基本上无法使用 SPDY。

mod_spdy 目前处于一个糟糕的状态,在 Google 将其捐赠给 Asf 之后,Google 和 Apache 都没有对其进行维护。Google 最近声明称,他们将在 2016 年初停止对 Chrome 的 SPDY 支持,但他们忘了说他们已经开始放弃旧版本的 SPDY(包括 SPDY/3)(顺便说一句,我喜欢这些部分正确的陈述),所以基本上如果你使用 Apache,那么对于你的 Chrome 用户,你不能提供 SPDY,除非你自己实现 SPDY/3.1。

那么,“不作恶”是怎么回事?:-)

查看具体信息:https://groups.google.com/forum/#!topic/mod-spdy-discuss/FPEj0zG5I0Yhttps://code.google.com/p/mod-spdy/issues/detail?id=100&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20Stars

您可能考虑的一个选择是切换到 Nginx 并在那里使用 SPDY/3.1 实现。

答案2

Google 的 mod_spdy 可以在 Apache 2.2 上运行,但是2.4 端口遇到了一些问题,线已经完成了。

我发现了一个描述有人成功编译了它,但我还没有测试过。

答案3

由于声誉不佳,我无法发表评论,所以我必须回答,尽管它可能像 alexus 的回答一样“偏离主题”。

我找到了 hoppy 几天前提到的描述,并成功让它运行起来。如果有人有兴趣尝试的话,这很简单。不过我不得不说,遗憾的是,这只为我的域添加了 SPDY/3 支持,而不是所讨论的 SPDY/3.1。

Chrome 36 和 Firefox 31.4 ESR 已通过 SPDY/3 成功连接到此测试域。(使用 Firefox 和 Chrome 的 SPDY 指示器插件。)Qualys SSL Labs 确认,该服务器已获得 SDPY/3 和 SPDY/2 支持。

使用这些浏览器版本连接到 google.com 时,SPDY 指示器告诉我正在使用 SPDY/3.1。

但在 Chrome 40 & 41 和 Firefox 36+ 中,连接到我的测试域时,SPDY 指示器保持灰色。连接 google.com 时,两个浏览器都显示,连接已在使用 HTTP/2。因此,不仅 Chrome,而且 Firefox 也已放弃对 SPDY 3.0 的支持。

我认为这有点不幸。系统管理员试图提供尽可能好的体验和协议支持,但却被压垮了,投入的工作都白费了。

最后回答一下这个帖子的问题:不。在我看来,你暂时不会得到 apache2 的“官方” SPDY/3.1 支持。你可以在github,他们还没有说这个。而且这个“还没有”已经有半年了,我猜它不会来了。所以就像 alexus 提到的,人们应该坚持使用 HTTP/2。关注这个 GitHub 页面希望 apache2 能够很快出现。

最后是“但是”部分。;) 您可以撤消我链接的更改,然后重新编译 mod_spdy,这样它就可以提供 SPDY/3.1。在我的测试机器上,它似乎可以正常工作,但我遇到了一些问题,Firefox 说 OCSP 服务器需要稍后再试,但 5 分钟后问题就消失了。但我真的不知道浏览器是否会以某种方式回退到 SPDY/3,但显示协商的 SPDY/3.1 或类似的东西。我现在不信任此设置,需要进行进一步测试。因此,再次回答该帖子的问题:是的,也许!:) 如果您坚持 hoppy 给出的描述并更改一些代码行并再次编译它。它似乎可以正常工作,但我现在真的不推荐它。

答案4

抱歉,如果有点题外,但我甚至不会打扰,因为谷歌正在放弃 SPDY 并转向 HTTP/2:

Chromium 博客:你好 HTTP/2,再见 SPDY

相关内容