运行 开箱即用的 SPDY Jetty

run Jetty with SPDY out-of-the-box

我从 Tomcat 切换到 Jetty 作为 ServletContainer 并尝试使用 Jetty 的所有默认设置启用 SPDY。这是我启用 SPDY 的步骤:

  1. 我下载并解压jetty
  2. 我复制了一个 .war-webapps 中的文件和一些仅特定于项目的部署描述符。
  3. (现在是棘手的部分)我通过执行以下命令启用 SPDY:

    java -jar start.jar --add-to-startd=spdy

我接受不受信任的 protonego-impl 现在存在一个 start.d/spdy.ini 文件。

  1. 现在开始码头:

    java-罐子start.jar

此外,我通过在 etc/protonego-alpn.xml 命令中取消注释来启用一些调试:

<Set class="org.eclipse.jetty.alpn.ALPN" name="debug" type="boolean">true</Set>

在服务器启动时我得到:

2015-02-10 13:22:10.292:INFO:oejs.ServerConnector:main: Started ServerConnector@5841a6a3{HTTP/1.1}{0.0.0.0:8080} 2015-02-10 13:22:10.387:INFO:oejs.ServerConnector:main: Started ServerConnector@5c9f2ea4{SSL-alpn}{0.0.0.0:8443}

告诉我端口 8080 运行 的正常 HTTP 和端口 8443 运行 ALPN 支持以下协议:spdy/3、spdy/2、http/1 .1. 但是,如果我从我的项目访问 HTTPS 页面,我会得到以下信息:

[S] ALPN protocols [spdy/3.1, http/1.1] received from client for 783e3eb9[SSLEngine[hostname=127.0.0.1 port=50458] SSL_NULL_WITH_NULL_NULL] [S] ALPN protocol 'http/1.1' selected for 783e3eb9[SSLEngine[hostname=127.0.0.1 port=50458] SSL_NULL_WITH_NULL_NULL]

我理解上面说的服务器支持spdy/3.1,选择了http/1.1。但是删除除 spdy/3 之外的所有连接我得到 EofExceptions 并且无法访问 HTTPS 页面。

我使用 Java JDK 1.7 和 Chrome 以及 SPDY-Indicator 和 Jetty 9.2.5 以及 XML 上的所有配置。 有人可以帮助我或告诉我更多关于这个问题的信息吗? 哦,它不需要使用 ALPN,我想要 spdy,而这背后的技术目前是不必要的。

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