运行 开箱即用的 SPDY Jetty
run Jetty with SPDY out-of-the-box
我从 Tomcat 切换到 Jetty 作为 ServletContainer 并尝试使用 Jetty 的所有默认设置启用 SPDY。这是我启用 SPDY 的步骤:
- 我下载并解压jetty
- 我复制了一个 .war-webapps 中的文件和一些仅特定于项目的部署描述符。
(现在是棘手的部分)我通过执行以下命令启用 SPDY:
java -jar start.jar --add-to-startd=spdy
我接受不受信任的 protonego-impl 现在存在一个 start.d/spdy.ini 文件。
现在开始码头:
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 刚刚从代码树中删除。
我从 Tomcat 切换到 Jetty 作为 ServletContainer 并尝试使用 Jetty 的所有默认设置启用 SPDY。这是我启用 SPDY 的步骤:
- 我下载并解压jetty
- 我复制了一个 .war-webapps 中的文件和一些仅特定于项目的部署描述符。
(现在是棘手的部分)我通过执行以下命令启用 SPDY:
java -jar start.jar --add-to-startd=spdy
我接受不受信任的 protonego-impl 现在存在一个 start.d/spdy.ini 文件。
现在开始码头:
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 刚刚从代码树中删除。