我使用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);
但Chrome 40仅使用“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
中使用。
答案 0 :(得分:1)
Jetty不支持SPDY/3.1
,最多只支持SPDY/3
。
事实上,Jetty永远不会支持SPDY/3.1
。
SPDY和NPN刚刚从即将发布的Jetty 9.3.0版本的代码树中删除。