Jetty:可以使用 SPDY/3.1 吗?

Jetty: is it possible to use SPDY/3.1?

我 运行 使用 JDK 1.8 和 ALPN 的 Jetty 服务器,如下所述:How to run Jetty with SPDY using ALPN?

有一行:

ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory("spdy/3", "http/1.1");

和:

HTTPSPDYServerConnectionFactory spdy = new HTTPSPDYServerConnectionFactory(SPDY.V3, httpConfig, push);

但是Chrome40只使用了"spdy/3.1"和"http/1.1"。启用 ALPN 调试后,它看起来像:

[S] ALPN protocols [spdy/3.1, http/1.1] received from client for 1987cc45[SSLEngine[hostname=169.0.1.126 port=59439] SSL_NULL_WITH_NULL_NULL]

谈判以http/1.1结束。所以我将该行更改为:

ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory("spdy/3.1", "http/1.1");

这表明 spdy/3.1 已被选中:

[S] ALPN protocol 'spdy/3.1' selected for 1987cc45[SSLEngine[hostname=169.0.1.126 port=59439] SSL_NULL_WITH_NULL_NULL]

但是Chrome没有收到回复。我在服务器端没有发现任何异常,但 Jetty 似乎无法使用 SPDY/3.1.

Jetty 可以与 SPDY/3.1 一起使用吗?如何设置?

我使用 JDK 1.8.0_31 和 bootstap alpn-boot-8.1.3.v20150130.jar.

Jetty 不支持 SPDY/3.1,最多只支持 SPDY/3

事实上,Jetty 永远不会支持 SPDY/3.1

在即将发布的 Jetty 9.3.0 版本中,SPDY 和 NPN 刚刚从代码树中删除。

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/commit/?id=2162455b72d5a474bba47d5daf5543d46c2688be